DE3940302A1 - Erweiterung der moeglichkeiten, rom code dem speicherbereich eines computers zuzuordnen - Google Patents

Erweiterung der moeglichkeiten, rom code dem speicherbereich eines computers zuzuordnen

Info

Publication number
DE3940302A1
DE3940302A1 DE3940302A DE3940302A DE3940302A1 DE 3940302 A1 DE3940302 A1 DE 3940302A1 DE 3940302 A DE3940302 A DE 3940302A DE 3940302 A DE3940302 A DE 3940302A DE 3940302 A1 DE3940302 A1 DE 3940302A1
Authority
DE
Germany
Prior art keywords
read
memory
field
address
code
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.)
Granted
Application number
DE3940302A
Other languages
English (en)
Other versions
DE3940302C2 (de
Inventor
Gregory Frederick Bush
Don Steven Keener
Jeanne Ellen Morel
Richard Voorhees
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE3940302A1 publication Critical patent/DE3940302A1/de
Application granted granted Critical
Publication of DE3940302C2 publication Critical patent/DE3940302C2/de
Granted 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
    • 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/0646Configuration or reconfiguration
    • G06F12/0653Configuration or reconfiguration with centralised address assignment
    • G06F12/0661Configuration or reconfiguration with centralised address assignment and decentralised selection
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)
  • Storage Device Security (AREA)
  • Television Signal Processing For Recording (AREA)

Description

Die Erfindung bezieht sich auf das Zuordnen von ROM Code im Speicherbereich eines Computers.
Viele bekannte Computersysteme werden in Form eines Basismodells verkauft, welches jedoch vom Anwender erweiterbar ist. Die Architektur kann beispielweise mehrere Kartenschlitze in einer Art Gehäuse aufweisen, wo die Schlitze durch einen Bus miteinander verbunden werden. Ein solches Computersystem, ein Basismodell, kann einen oder mehrere Kartenschlitze haben, die nicht besetzt sind. Das Computersystem kann dadurch erweitert werden, daß eine entsprechende gedruckte Schaltungsplatine (oder Zusatzkarte) in einen leeren Schlitz eingeführt wird. Viele solcher Zusatzkarten haben Eigenschaften, die zumindest teilweise durch in einem Festwertspeicher gespeicherte Software definiert ist, die im folgenden ROM Code genannt wird. Eine der erforderlichen Voraussetzungen zum effektiven Anwenden einer solchen Zusatzkarte ist die Fähigkeit des Systems als Ganzes, den ROM Code zu adressieren. Die Computersystemarchitektur sieht typischerweise einen Festwertspeicherbereich für ROM Code für das Computersystem als Ganzes vor. Dieser Festwert­ speicherbereich kann nicht erweitert werden, d.h. unabhängig von der Art der hinzugefügten Zusatzkarten muß ihr gesamter ROM Code sowie der ROM Code des Computersystems in seinem Basiszustand in diesem Festwertspeicherbereich Platz haben.
Ein Beispiel eines solchen erweiterbaren Computer­ systems wird von der International Business Machines Corporation hergestellt und unter dem Warenzeichen PS/2 verkauft. Diese Familie von Computersystemen enthält Mittel zur Konfiguration, die automatisch bestimmte Funktionen ausführen können, welche für die Verwendung von dem Computersystem hinzugefügten Zusatzkarten notwendig sind. Eine von den Mitteln zur Konfiguration ausgeführte Funktion ist das Zuordnen des ROM Code der Zusatzkarten im Festwertspeicher­ bereich in einer solchen Weise, daß bereits existierender, schon im Speicherbereich zugeordneter ROM Code sowie anderer ROM Code auf anderen Zusatzkarten nicht gestört wird. Die Konfigurationsmittel teilen im allgemeinen den ROM Code einem oder mehreren 8K Segmenten im Festwertspeicherbereich zu.
Der Begriff "Zuordnen", wie er oben und im folgenden Text dieser Anmeldung verwendet wird, bezieht sich nicht auf das physikalische Bewegen eines ROM Code; der ROM Code wird physikalisch in einer Speicher­ vorrichtung auf der Zusatzkarte gespeichert. Der Begriff "Zuordnung" bezieht sich auf das Zuordnen einer Adresse zum ROM Code, d.h. auf das Anordnen des ROM Code im Festwertspeicherbereich.
Da der Festwertspeicherbereich für ROM Code begrenzt ist, ist es wichtig, diesen Speicherbereich so effizient wie möglich auszunützen.
Im Stand der Technik war der ROM Code einer Speicher­ grenze zugeordnet, deren Adresse ein ganzzahliges Vielfaches desjenigen Teils des Speicherbereichs war, welcher für die Kapazität des ROM (nicht das Ausmaß des ROM Code) benötigt wurde. Wenn zum Beispiel der ROM Code bis zu 16K Bytes Speicherbereich einnehmen wurde, dann würde der ROM Code in einem 16K ROM gespeichert und der ROM Code würde im Festwert­ speicherbereich beginnend an einer Adresse zugeordnet, die ein ganzzahliges Vielfaches von 16K ist. Es ist offensichtlich, daß aufgrund der Tatsache, daß der Festwertspeicherbereich begrenzt ist, die Notwendig­ keit zum Zuordnen des ROM Code an einer solchen Position zur Folge hat, daß die Verwendung des Festwertspeicherbereichs wenig effizient ist. In einem konkreten Beispiel sei angenommen, daß der zugeteilte verfügbare Festwertspeicherbereich auf 128K begrenzt ist; in einem solchen Fall gibt es dann nur 8 mögliche Zuordnungen für einen Block von 16K ROM Code. Wenn zum Beispiel Speicherraum beginnend bei einer Adresse von 24K verfügbar ist, dann bleibt der Festwertspeicher­ bereich von 24K bis 32K ungenützt, und die 16K des ROM Code würden der 32K Adressengrenze zugeordnet und würden Adressen von 32K bis 48K einnehmen. Wenn andererseits die 16K des ROM Code der Adresse von 24K zugeordnet werden würden, dann könnten sie den Adressenbereich von 24K bis 40K einnehmen.
Während einerseits Zusatzkarten das freie Zuordnen des ROM Code ermöglichen sollen, trifft es zu, daß einige Zusatzkarten den ROM Code an bestimmten Adressen im Festwertspeicherbereich zuordnen müssen. Es ist offensichtlich, daß diese Bedingung das Problem dadurch verstärkt, daß sie es wahrscheinlicher macht, daß ein oder mehrere Festwertspeichersegmente schwierig oder unmöglich zu verwenden sind. Im allgemeinen war das Zuordnen des ROM Code nach dem Stand der Technik auf Adressen begrenzt, die ganzzahlige Vielfache von der Größe des ROM waren, oder anders ausgedrückt geradzahlige Vielfache von der halben Größe des ROM.
Grenzen, die gleich den ungeraden ganzzahligen Vielfachen von der halben Größe des ROM waren, konnten nicht verwendet werden.
Es ist eine Aufgabe der Erfindung, diese künstliche Begrenzung auszuschalten und es zu ermöglichen, ROM Code auch Grenzen im zugeteilten Festwertspeicher­ bereich zuzuordnen, die Untervielfache von der Größe des ROM sind, d.h. sowohl gerade wie auch ungerade ganzzahlige Vielfache von der halben Größe des ROMs sollen verfügbar sein.
Es ist eine weitere Aufgabe der Erfindung, die oben definierte Aufgabe zu erfüllen, ohne dabei zusätzliche Schaltungsverzögerungen beim Adressieren notwendig zu machen, was normalerweise zur Bewältigung dieses Problems erforderlich wäre.
Gemäß der vorliegenden Erfindung wird die Anordnung geändert, in welcher ROM Code auf der Zusatzkarte gespeichert ist. Während in der Vergangenheit nur eine einzige Kopie des ROM Code in der Festwertspeichervor­ richtung (ROM) der Zusatzkarte gespeichert wurde, wird gemäß der vorliegenden Erfindung der ROM Code auf der Zusatzkarte in der Speichervorrichtung in zwei unter­ schiedlichen Versionen gespeichert, und zwar wird eine Version in einem ersten Feld und eine zweite Version in einem zweiten Feld gespeichert. In der ersten Version wird der ROM Code genauso wie in der Vergangen­ heit gespeichert. Für den Zweck der Beschreibung soll der ROM Code ein erstes Segment und ein zweites Segment umfassen, und ein erstes Feld des ROM Code auf der Zusatzkarte wird mit dem ersten Segment gespeichert, direkt gefolgt vom zweiten Segment. Die Zusatzkarte gemäß der vorliegenden Erfindung speichert jedoch auch den ROM Code in dem anderen oder zweiten Feld. In diesem zweiten Feld tritt das zweite Segment des ROM Code vor dem ersten Segment auf.
Zusatzkarten nach dem Stand der Technik, die zum Erweitern von Computersystemen wie oben beschrieben verwendet werden, enthalten mindestens ein Multi­ bitregister. Das Multibitregister wird von den Konfigu­ rationsmitteln verwendet, und ein numerischer Wert wird im Multibitregister gespeichert und zeigt ein bestimmtes Segment des Festwertspeicherbereichs an, in welchem der ROM Code der Zusatzkarte zu- oder angeordnet wird. Der Inhalt des Registers wird als Eingang eines Adressendekodierers auf der Zusatzkarte verwendet, sodaß beim Adressieren eines Speicherbereichs innerhalb des dem ROM Code auf der Zusatzkarte zugeordneten Festwertspeicherbereichs der Adressendekodierer aktiviert wird und der entsprechende ROM Code aus der Speichervorrichtung auf der Zusatzkarte ausgelesen wird. Gemäß der vorliegenden Erfindung wird der Adressendekodierer in verschiedener Hinsicht modifiziert. Erstens wird ein Addierer vorgesehen mit einem Eingang vom Multibitregister. Der Addiererausgang ist mit dem Adressendekodierer und mit Adressierschaltungen für die den ROM Code speichernde Speichervorrichtung verbunden. Der Addierer ist so angeordnet, daß er einen Ausgang liefert, welcher die Summe von 1 plus dem Registerinhalt darstellt. Der Adressendekodierer ist so verändert, daß er zusätzlich zum Aktiviertwerden durch das Register auch durch den Ausgang des Addierers aktiviert wird. Schließlich wird das niederwertigste Bit des Registers zum Auswählen zwischen den zwei verschiedenen Feldern in der Speichervorrichtung auf der den ROM Code speichernden Zusatzkarte verwendet.
Ein konkretes Beispiel soll hier zur Erklärung dienen. Es sei angenommen, daß die Zusatzkarte 16K ROM Code erfordert und das Register auf der Zusatzkarte eine Länge von 4 Bits hat, so daß 15 der möglichen 16 Zuordnungen innerhalb 128K des Festwertspeicherbereichs ausgewählt werden können. Es gibt nur 15 Zuordnungen, da die 16te Zuordnung an der Adresse 120K beginnt, welche zur Aufnahme der 16K des ROM Code nicht ausreicht. Der Inhalt des Registers sei mit der Bezeichnung Seitenauswahlbits versehen. Da 16K ROM Code zugeordnet werden, ist es unzulänglich, den Dekodiervorgang lediglich auf der jeweiligen ausgewählten 8K Seite auszuführen. Es muß möglich sein, die nächste 8K Seite auszuwählen. Diese Notwendigkeit wird durch die Gegenwart des Addierers realisierbar.
Wie werden bei einem erfolgreichen Adressendekodier­ vorgang die Adressen neu ausgerichtet, um den ent­ sprechenden ROM Code zu lesen? Wenn die für den ROM Code ausgewählte Grenze eine 16K Grenze ist, gibt es kein Problem. Wenn jedoch die ausgewählte Grenze ein ungerades Vielfaches von 8K (nicht eine 16K Grenze) ist, dann wird Adreßbit 13 die falsche Polarität aufweisen. Mit anderen Worten, beim Aktivieren der einzelnen Adressen nacheinander beginnend bei einer ungeraden Vielfachen von 8K wird präzise an der Hälfte des 16K Speicherbereichs das Adreßbit A 13 seinen Status ändern und das nächstfolgende Speicherbyte nicht adressieren.
Dieses Problem kann dadurch beseitigt werden, daß das niederwertigste Bit der Seitenauswahlbits verwendet wird. Dieses Bit zeigt an, ob eine gerade oder ungerade 8K Grenze ausgewählt worden ist. Da die Polarität des Adreßbits A 13 bei ungeraden Grenzen umgekehrt wird (verglichen mit geraden Grenzen), kann dieses Bit mittels einer Exklusiv-ODER-Schaltung mit dem niederwertigsten Seitenauswahlbit verknüpft werden, sodaß es nur bei Auswahl einer ungeraden Seite invertiert wird. Ein Nachteil dieser Lösung besteht darin, daß sie eine unerwünschte Verzögerung für die Adresse mit sich bringt, die dem den ROM Code enthalten­ den Speicher auf der Zusatzkarte vorgelegt wird. Eine Alternative ohne diesen Nachteil besteht darin, eine zweite Kopie des im Speicher gespeicherten ROM Code in dem anderen Feld zu verwenden. Diese zweite Kopie oder dieses andere Feld speichert genau denselben ROM Code wie im ersten Feld, mit der Ausnahme, daß die Reihen­ folge des Auftretens des ROM Codes anders ist. In Anbetracht der Tatsache, daß das Bit A 13 die falsche Polarität aufweist, wird der ROM Code in zwei Segmente aufgeteilt. Ist der ROM Code einer geraden Grenze zugeordnet, so wird das erste Feld verwendet, wo das erste Segment des ROM Code vor dem zweiten Segment auftritt. Wenn andererseits eine ungerade 8K Grenze ausgewählt wurde, so wird das zweite Feld der Speicher­ vorrichtung mit dem ROM Code ausgewählt. Im zweiten Feld tritt das zweite Segment des ROM Code vor dem ersten auf. Auf diese Weise wird beim Auswählen einer ungeraden 8K Grenze und beim Weiterschalten durch den angeordneten Adressenbereich das zweite Segment des zweiten Feldes korrekt adressiert, wenn das Adressbit A 13 seinen Zustand ändert.
Die vorliegende Erfindung wird nun in weiteren Einzel­ heiten beschrieben, um es dem Fachmann zu ermöglichen, dieselbe im Zusammenhang mit dem folgenden Teil der Beschreibung in Verbindung mit den Zeichnungen herzu­ stellen und zu verwenden. Die Zeichnungen stellen folgendes dar:
Fig. 1 ist eine schematische Darstellung eines typischen Mikrocomputersystems, bei welchem die vorliegende Erfindung verwendet werden kann;
Fig. 2 ist eine schematische Darstellung des Festwertspeicherbereichs eines solchen Mikrocomputersystems;
Fig. 3 und 4 zeigen die Zuordnungen im Festwert­ speicherbereich des Computersystems nach Fig. 1, in welchem der Festwertcode des Speichers angeordnet werden kann;
Fig. 5 und 6 zeigen jeweils den Inhalt der Festwertspeichervorrichtung einer Zusatzkarte nach dem Stand der Technik bzw. nach der vorliegenden Erfindung;
Fig. 7 zeigt ein Detail eines Bestandteils des Adressiermechanismus nach der vorliegenden Erfindung; und
Fig. 8 ist eine schematische Darstellung eines anderen Teils des Adressiermechanismus mit einem Addierer und seiner Verbindung mit dem Register, welches die Seitenauswahlbits speichert.
Fig. 1 ist ein schematisches Blockdiagramm eines typischen erweiterbaren Computersystems. Wie in Fig. 1 gezeigt, enthält das Computersystem insbesondere eine Zentraleinheit (CPU) 100, welche mit mehreren Bestand­ teilen verbunden ist, wie z.B. dem stellvertretenden Bestandteil 110 über einen Multielementbus 130. Das Element 120 soll eine Zusatzkarte oder eine ähnliche Einrichtung darstellen, welche in einen leeren Schlitz im Gehäuse des Computersystems zum Zwecke der Erweiterung der Funktionen dieses Computersystems eingeführt werden kann. Obwohl die Zusatzkarte 120 viele Komponenten umfassen kann, zeigt bei der vorliegenden Erfindung die Fig. 1, daß die Zusatzkarte eine den ROM Code speichernde Speichervorrichtung 123 enthält. Die Zusatzkarte 120 enthält ein Multibitregister 122, welches während des Konfigurationsvorgangs mit Seiten­ auswahlbits beschrieben wird, um den ROM Code zu- oder anzuordnen, welcher im Speicher 123 im Festwertspeicher­ bereich des Computersystems gespeichert ist. Schließlich enthält die Zusatzkarte 120 die Adressierlogik 121, welche während des Konfigurationsverfahrens zum Schreiben des entsprechenden Inhalts des Registers 121 verwendet wird und welche nach dem Konfigurationsver­ fahren in Verbindung mit dem Inhalt des Registers 122 und anderen von einem Element des Bus 130 gelieferten Informationen betrieben wird, um den Speicher 123 zu adressieren. Vor der Beschreibung des Betriebs der oben genannten Elemente der Zusatzkarte 120 werden die verschiedenen Möglichkeiten zum Anordnen des ROM Codes in der Speichervorrichtung 123 in Verbindung mit den Fig. 2 bis 6 beschrieben.
Fig. 2 soll den ROM Festwertspeicherbereich im Computer­ system nach Fig. 1 darstellen. In dem bereits erwähnten Beispiel sehen die PS/2 Maschinen 128K des Festwert­ speicherbereichs zwischen den Adreßgrenzen (hex) C0000 und DFFFF vor. Dieser Speicherbereich kann 16 Seiten P 1 bis P 16 jeweils mit einer Länge von 8K umfassen. Von diesen 16 Seiten befinden sich die Hälfte (P 2, P 4, etc) auf ungeraden 8K Grenzen. Die andere Hälfte der Segmente (P 1, P 3, usw.) befinden sich auf geraden 8K Grenzen. Angenommen, es werde versucht, 16K ROM Code in der Speichervorrichtung 123 anzuordnen, dann gibt es 15 (nicht 16) mögliche Zuordnungen. Die letzte Zuordnung, Seite P 16, kann nicht zum Zuordnen von 16K ROM Code verwendet werden, da ihre Kapazität lediglich 8K beträgt. Jede der anderen Grenzen (die Grenzen von P 1 bis P 15) können jedoch zum Zuordnen eines 16K-Blocks des ROM Code verwendet werden.
Wird eine gerade 8K Grenze ausgewählt (P 1, P 3, usw.), so werden die 16K ROM Code die in Fig. 3 gezeigte Anordnung einnehmen, wo eine Grenze n · 8K auftritt, wobei n jede gerade ganze Zahl (0 bis 14) sein kann. Werden jedoch die 16K ROM Code einer ungeraden Grenze (P 2, P 4 bis P 14) zugeordnet, dann wird aus im folgenden Text erläuterten Gründen der im Speicher 123 gespeicherte ROM Code die in Fig. 4 gezeigte Konfiguration einnehmen, wo n jede ungerade ganze Zahl (1 bis 13) ist.
Fig. 5 stellt den Inhalt des Speichers 124 mit dem ROM Code auf einer typischen Zusatzkarte nach dem Stand der Technik dar. Zu Zwecken der Beschreibung wird dieser ROM Code in die Segmente 10 und 20 aufgeteilt, obgleich diese Aufteilung ausschließlich zum Vergleichen des Standes der Technik mit der vorliegenden Erfindung geschieht.
Fig. 6 zeigt den Inhalt der Speichervorrichtung 123 nach der vorliegenden Erfindung. Wie in Fig. 6 gezeigt, ist der Inhalt des Speichers 123 in die Felder 1 und 2 unterteilt. Feld 1 speichert den ROM Code in genau derselben Weise wie ein Speicher nach dem Stande der Technik. Feld 2 jedoch speichert den ROM Code auf andere Weise, d.h. der ROM Code wurde in zwei Segmente aufgeteilt, die Segmente 10 und 20. Im Feld 1 sind diese Segmente der Reihe nach gespeichert, sodaß das erste Segment 10 vor dem zweiten Segment 20 erscheint. In Feld 2 jedoch wird der ROM Code in anderer Reihen­ folge gespeichert, d.h. das zweite Segment 20 tritt vor dem ersten Segment 10 auf. Die Segmente 10 und 20 des Feldes 2 sind sonst identisch mit den Segmenten 10 und 20 des Feldes 1 und mit den Segmenten 10 und 20 des ROM Code 124 nach dem Stande der Technik.
Fig. 8 zeigt einen Addierer, der in der Adressierungs­ logik 121 aus Gründen verwendet wird, welche im folgenden beschrieben werden. Die Eingänge zum Addierer der Fig. 8 und die Seitenauswahlbits RS0 bis RS3 kommen vom Register 122. Die Ausgänge des Addierers sind alternierende Seitenauswahlbits RS0P bis RS3P, die unabhängig vom Eingang immer um eins mehr als der Eingang sind. Der Addierer enthält die UND-Gatter A 2 und A 4 bis A 7, die Inverter I 1 bis I 3 und die ODER-Gatter 01 bis 03.
Fig. 8 zeigt außerdem die logische Schaltung zum Entwickeln des Signals ROSENA (ROS Enable). Wie in Fig. 8 dargestellt, ist ROSENA identisch mit RSENA, mit Ausnahme des Falles, in welchem jedes Seitenauswahlbit RS0 bis RS3 gleich 1 ist (Auswahl des 15ten Segmentes an der Grenze DE000). Wie bereits beschrieben, ist das 15te Segment kein gewährbares Segment, in welches 16K des ROM Code plaziert werden können. Daher wird bei der Wahl des 15ten Segmentes das Signal ROSENA durch das UND-Gatter A 1 gesperrt.
Fig. 7 zeigt einen weiteren Bestandteil der Adressierungs­ logik 121. Die Schaltung nach Fig. 7 wird insbesondere zur Freigabe des Speichers 123 verwendet, wenn eine entsprechende Adresse an dem Adressenbestandteil des Bus 130 auftritt. Bei der Anordnung nach Fig. 7 sind abgesehen von der Art der Entwicklung von ROSENA (wie in Fig. 8 gezeigt) die Gatter A 8, 013 und ihre Eingänge zum Gatter 014 völlig konventionell, wie auch die Gatter 04 bis 07 und A 9. Der Adressenmechanismus wird durch die Hinzufügung der Gatter 08 bis 012, A 10 und der Verwendung des Ausgangs von 012 in einem Eingang an 014 anstelle der Verwendung des Ausgangs von A 9 geändert. Die Gatter 04 bis 07 geben das Gatter A 9 frei, wenn sich die auf dem Adressenbestandteil des Bus 130 auftretende Adresse auf der jeweiligen Seite befindet, die durch den Inhalt des Registers 122 ausgewählt wird, d.h. RS0 bis RS3.
Die vorliegende Erfindung unterscheidet sich von den Verfahren nach dem Stande der Technik durch die Verwendung der Gatter 08 bis 012, und A 10. Die Gatter 08 bis 011 geben das Gatter A 10 frei, wenn der Adressenbestandteil des Bus 130 eine Adresse aus der Seite hervorruft, welche der vom Inhalt des Registers 122, d.h. RS0 bis RS3 identifizierten Seite folgt.
Wird der ROM Code auf der Zusatzkarte auf einer gerade 8K Grenze angeordnet, so ist das niederwertigste Bit, d.h. RS0 der Seitenauswahlbits in Register 122 Null. Dieses Bit wird dazu verwendet (siehe Fign. 8 und 1), das erste Feld auszuwählen, d.h. Feld 1 des Speichers 123. Tritt eine Adresse auf dem Adressenbestandteil des Bus 130 auf, die sich in der von den Seitenauswahl­ bits identifizierten 8K Seite befindet, so sind die Bedingungen der Gatter 04 bis 07 erfüllt, und wenn die anderen Bedingungen ebenfalls erfüllt sind, so wird das Gatter 014 ein nicht zwischengespeichertes fehler­ freies ROM-Auswahlsignal (ULRSG) erzeugen, um den Speicher 123 freizugeben. Wird die Adresse auf dem Adressenbestandteil des Bus 130 mit dem LSB des Registers 122 kombiniert, so wird das erste Feld des Speichers 123 adressiert, und jedes Byte innerhalb des ersten Segmentes 10 kann adressiert werden. Geht die Adresse auf dem Adressenbestandteil des Bus 130 über den ersten 8K Block des ROM Code hinaus, dann sind die Bedingungen der Gatter 08 bis 011 sowie des Gatters A 10 zur Aufrechterhaltung von ULRSG erfüllt, und ein Byte innerhalb des Segments 20 (von Feld 1) wird adressiert. Auf diese Weise ermöglicht die An- oder Zuordnung des ROM Code auf einer geraden 8K Grenze die ROM Code Adressierbarkeit auf eine Weise, die dem Stande der Technik sehr ähnlich ist.
Die vorliegende Erfindung ist ganz besonders nützlich, wenn das LSB (RS0) der Seitenauswahlbits im Register 122 eine Eins ist, d.h. wenn eine ungerade 8K Grenze ausgewählt wurde.
Tritt das erste Adressenbyte dieser Reihe auf dem Adressenbestandteil des Bus 130 auf, so ist sein Bit A 13 Eins, und die Bedingungen der Gatter 08 bis 011 und somit des Gatters A 10 sind erfüllt, sodaß wiederum ein aktives ULRSG-Signal (unter denselben Bedingungen) erzeugt wird. Ist das LSB von Register 122 aktiv, so wird Feld 2 des Speichers 123 adressiert, und das ausgelesene Speicherbyte wird das erste Speicherbyte in Segment 10 sein. Wird die auf dem Adressenbestand­ teil des Bus 130 auftretende Adresse ständig weiter erhöht, so wird an irgendeinem Punkt das letzte Byte in Segment 10, Feld 2 adressiert. Wird die Adresse auf dem Bus noch einmal erhöht, so wechselt das Adreßbit A 13 von Eins nach Null. Zu diesem Zeitpunkt sind die Gatter 08 bis 011 sowie das Gatter A 10 gesperrt. Andererseits werden zu diesem Zeitpunkt die Gatter 04 bis 07 freigegeben, die wiederum das Gatter A 9 freigeben und dadurch ULRSG aktiv halten.
Wird somit der ROM Code einer ungeraden 8K Grenze zugeordnet, so beginnt das Adressieren von Feld 2 in Segment 10, und beim Erhöhen der Adressen wird der Speicher 123 innerhalb Speichersegment 10 von Feld 2 weitergeschaltet, und sobald die Bytes in Segment 10 von Feld 2 adressiert worden sind, ist das nächste zu adressierende Byte das erste Byte in Segment 20, Feld 2. Wenn anschließend die Adresse weiter erhöht wird, so werden andere Bytes in Segment 20, Feld 2 adressiert.
Der vorhergehende Teil der Beschreibung erläutert die Verwendung der vorliegenden Erfindung zum Zu- oder Anordnen von ROM Code auf einer Zusatzkarte in dem Festwertspeicherbereich eines Computersystems. Zwar ist diese Erläuterung eine typische Beschreibung für die Anwendung der Erfindung, jedoch ist sie nicht auf Zusatzkarten beschränkt. Ein typisches Computersystem enthält außer den Zusatzkarten (die mit dem Basismodell verkauft wurden oder auch nicht) eine Hauptplatine. Die Hauptplatine trägt im allgemeinen die CPU, einen Festwertspeicher, Adressieranordnungen usw. Die vorliegende Erfindung kann auf der Hauptplatine in genau derselben Art verwendet werden, wie sie für die Verwendung der Erfindung auf einer Zusatzkarte beschrieben worden ist. Durch Verwenden der vor­ liegenden Erfindung auf der Hauptplatine kann der im Festwertspeicherbereich auf der Hauptplatine gespei­ cherte ROM Code im Festwertspeicherbereich des Computersystems in derselben Weise zu- oder angeordnet werden, in welcher der auf einer Zusatzkarte gespeicherte ROM Code zu- oder angeordnet wird, mit denselben Vorteilen.

Claims (7)

1. Bestandteil eines Personal Computer-Systems mit einem Festwertspeicher;
wobei der Festwertspeicher zwei adressierbare Felder enthält,
und zwar ein erstes adressierbares Feld zum Speichern von Festwertbefehlscodes in einer bestimmten Reihenfolge, welche eine erste Gruppe von Befehlscodes gefolgt von einer zweiten Gruppe von Befehlscodes umfaßt,
und ein zweites adressierbares Feld zum Speichern identischer Befehlscodes in einer anderen Reihen­ folge, welche die zweite Gruppe der Befehlscodes gefolgt von der ersten Gruppe der Befehlscodes umfaßt.
2. Vorrichtung nach Anspruch 1, bei welcher dieser Bestandteil eine Zusatzkarte zum Einstecken in das Personal Computer-System ist.
3. Zusatzkarte nach Anspruch 2, die weiterhin ein programmierbares Adressenregister enthält, in das ein gerader oder ungerader Code durch andere Bestandteile des Personal Computer-Systems eingeschrieben werden kann und die weiterhin folgendes enthält:
eine Adressenlogik, die durch den Code des programmierbaren Adressenregisters und durch Signale aktiviert wird, die auf einem Adreßbus des Personal Computer-Systems zum Entwickeln von Adressensignalen für den Festwertspeicher erscheinen, wobei die Adressensignale entweder das erste oder das zweite adressierbare Feld abhängig davon adressieren, ob der Code des programmierbaren Registers gerade oder ungerade ist.
4. Zusatzkarte nach Anspruch 2 oder 3, bei welcher die erste Gruppe von Befehlscodes im zweiten adressierbaren Feld relativ zu einem Anfang des zweiten adressierbaren Feldes in einer Position angeordnet ist, die mit einer Position der zweiten Gruppe von Befehlscodes im ersten adressierbaren Feld relativ zu einem Anfang des ersten adressierbaren Feldes identisch ist.
5. Verfahren zum Initialisieren und Adressieren eines Festwertspeichers eines Personal Computer-Systems, mit Festwertspeicherbefehls­ codes zum Einfügen in einen programmierbaren Teil eines Festwertspeicherbereichs des Personal Computer-Systems, folgende Schritte umfassend:
  • a) Speichern der Festwertbefehlscodes in zwei bestimmten Feldern des Festwertspeichers,
    • i) wobei ein erstes Feld Festwertbefehls­ codes in einer bestimmten Reihenfolge speichert, welche eine erste Gruppe von Befehlscodes gefolgt von einer zweiten Gruppe von Befehlscodes umfaßt, und
    • ii) wobei ein zweites adressierbares Feld identische Befehlscodes in einer anderen Reihenfolge speichert, welche die zweite Gruppe von Befehlscodes gefolgt von der ersten Gruppe von Befehlscodes umfaßt,
  • b) Feststellen, ob das erste oder zweite Feld benützt werden soll, und zwar durch Feststellen, ob für das erste Feld ein Festwertspeicherbereich verfügbar ist,
    • i) steht ein Festwertspeicherbereich für das erste Feld zur Verfügung, Einschreiben eines ersten Code in ein programmierbares Register, und steht kein Festwertspeicher­ bereich für das erste Feld zur Verfügung, Einschreiben eines anderen, zweiten Code in das programmierbare Register, und
  • c) Vorsehen einer Adressenänderungslogik, die durch Adresseneingangssignale und durch einen Code aktivierbar ist, welcher im programmierbaren Register für das Entwickeln von Adressiersignalen für den Festwert­ speicher gespeichert wird.
6. Verfahren nach Anspruch 5, folgende weiteren Schritte umfassend:
Ändern der Adresseneingangssignale in der Adressenänderungslogik zum Erzeugen des Adressiersignals nur dann, wenn der zweite Code im programmierbaren Register gespeichert ist.
7. Verfahren zum Zuordnen von auf einer Zusatzkarte befindlichem Festwertcode zu einem Festwertspeicherbereich eines Computersystems, dem diese Zusatzkarte beigefügt ist, folgende Schritte umfassend:
  • a) Vorsehen des auf einer Zusatzkarte befindlichen Festwertcodes in zwei verschiedenen Feldern im auf der Zusatzkarte befindlichen Festwertspeicher,
    • i) wobei ein erstes Feld den Festwertcode in einer bestimmten Reihenfolge speichert, welche eine erste Gruppe von Codes gefolgt von einer zweiten Gruppe von Codes umfaßt, und
    • ii) wobei ein zweites Feld identische Codes in einer anderen Reihenfolge speichert, welche die zweite Gruppe von Codes gefolgt von der ersten Gruppe von Codes umfaßt,
  • b) Speichern eines Festwertspeichersegment­ indikators zum Identifizieren eines Festwertspeichersegments für den auf der Zusatzkarte befindlichen Festwertcode, wobei der Segmentindikator entweder eine erste oder eine zweite Eigenschaft aufweist,
  • c) Adressieren des ersten Feldes, wenn der Segmentindikator die erste Eigenschaft aufweist, und Adressieren des zweiten Feldes, wenn der Segmentindikator die zweite Eigenschaft aufweist.
DE3940302A 1988-12-09 1989-12-06 Erweiterung der moeglichkeiten, rom code dem speicherbereich eines computers zuzuordnen Granted DE3940302A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/281,612 US4979148A (en) 1988-12-09 1988-12-09 Increasing options in mapping ROM in computer memory space

Publications (2)

Publication Number Publication Date
DE3940302A1 true DE3940302A1 (de) 1990-06-13
DE3940302C2 DE3940302C2 (de) 1993-02-25

Family

ID=23078043

Family Applications (2)

Application Number Title Priority Date Filing Date
DE68923433T Expired - Fee Related DE68923433T2 (de) 1988-12-09 1989-11-30 Einrichtung und Methode um Festwertspeicher in einem Rechnerspeicherbereich anzuordnen.
DE3940302A Granted DE3940302A1 (de) 1988-12-09 1989-12-06 Erweiterung der moeglichkeiten, rom code dem speicherbereich eines computers zuzuordnen

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE68923433T Expired - Fee Related DE68923433T2 (de) 1988-12-09 1989-11-30 Einrichtung und Methode um Festwertspeicher in einem Rechnerspeicherbereich anzuordnen.

Country Status (14)

Country Link
US (1) US4979148A (de)
EP (1) EP0372841B1 (de)
JP (1) JPH0743669B2 (de)
KR (1) KR920005289B1 (de)
CN (1) CN1014839B (de)
AR (1) AR245832A1 (de)
AU (1) AU623457B2 (de)
BR (1) BR8906348A (de)
CA (1) CA2000009C (de)
DE (2) DE68923433T2 (de)
GB (1) GB2225884A (de)
MY (1) MY108517A (de)
NZ (1) NZ231639A (de)
PH (1) PH26617A (de)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5282172A (en) * 1991-02-22 1994-01-25 Vlsi Technology, Inc. Look-ahead circuit for fast decode of bankselect signals in EMS systems
US5745759A (en) * 1994-10-14 1998-04-28 Qnx Software Systems, Ltd. Window kernel
US6397262B1 (en) 1994-10-14 2002-05-28 Qnx Software Systems, Ltd. Window kernel
US5895480A (en) * 1995-10-10 1999-04-20 Holtek Microelectronics, Inc. Method of and means for accessing an address by respectively substracting base addresses of memory integrated circuits from an access address
EP0769746A1 (de) * 1995-10-20 1997-04-23 Symbios Logic Inc. Speichereinrichtung und Zugriffsverfahren dafür
US7013340B1 (en) 2000-05-18 2006-03-14 Microsoft Corporation Postback input handling by server-side control objects
US6757900B1 (en) 2000-05-18 2004-06-29 Microsoft Corporation State management of server-side control objects
US6763453B2 (en) * 2000-12-28 2004-07-13 Intel Corporation Security on hardware loops
US7380250B2 (en) 2001-03-16 2008-05-27 Microsoft Corporation Method and system for interacting with devices having different capabilities
US7493397B1 (en) 2001-06-06 2009-02-17 Microsoft Corporation Providing remote processing services over a distributed communications network
US6944797B1 (en) 2001-06-07 2005-09-13 Microsoft Corporation Method and system for tracing
US6915454B1 (en) 2001-06-12 2005-07-05 Microsoft Corporation Web controls validation
US7162723B2 (en) * 2001-06-29 2007-01-09 Microsoft Corporation ASP.NET HTTP runtime
US7594001B1 (en) 2001-07-06 2009-09-22 Microsoft Corporation Partial page output caching
US7216294B2 (en) 2001-09-04 2007-05-08 Microsoft Corporation Method and system for predicting optimal HTML structure without look-ahead
US7428725B2 (en) 2001-11-20 2008-09-23 Microsoft Corporation Inserting devices specific content
US7574653B2 (en) 2002-10-11 2009-08-11 Microsoft Corporation Adaptive image formatting control
US7596782B2 (en) 2003-10-24 2009-09-29 Microsoft Corporation Software build extensibility
US7890604B2 (en) 2004-05-07 2011-02-15 Microsoft Corproation Client-side callbacks to server events
US8065600B2 (en) 2004-05-14 2011-11-22 Microsoft Corporation Systems and methods for defining web content navigation
US7464386B2 (en) 2004-05-17 2008-12-09 Microsoft Corporation Data controls architecture
US7530058B2 (en) 2004-05-28 2009-05-05 Microsoft Corporation Non-compile pages
US8156448B2 (en) 2004-05-28 2012-04-10 Microsoft Corporation Site navigation and site navigation data source

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4485457A (en) * 1983-05-31 1984-11-27 Cbs Inc. Memory system including RAM and page switchable ROM
DE3148761C2 (de) * 1981-12-09 1985-08-22 Siemens AG, 1000 Berlin und 8000 München Schaltungsanordnung zum Adressieren unterschiedlicher Speichereinheiten in einem Mikrorechnersystem
DE3812607A1 (de) * 1987-04-17 1988-10-27 Apple Computer Verfahren und schaltungsanordnung zur bestimmung der resourcenkonfiguration von in einem schlitz eines computers aufgenommenen schaltungen

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3440615A (en) * 1966-08-22 1969-04-22 Ibm Overlapping boundary storage
US3921144A (en) * 1971-05-18 1975-11-18 Ibm Odd/even boundary address alignment system
US4037215A (en) * 1976-04-30 1977-07-19 International Business Machines Corporation Key controlled address relocation translation system
US4374411A (en) * 1980-02-14 1983-02-15 Hayes Microcomputer Products, Inc. Relocatable read only memory
US4363095A (en) * 1980-12-31 1982-12-07 Honeywell Information Systems Inc. Hit/miss logic for a cache memory
US4378591A (en) * 1980-12-31 1983-03-29 Honeywell Information Systems Inc. Memory management unit for developing multiple physical addresses in parallel for use in a cache memory
US4443847A (en) * 1981-02-05 1984-04-17 International Business Machines Corporation Page addressing mechanism
US4507731A (en) * 1982-11-01 1985-03-26 Raytheon Company Bidirectional data byte aligner
US4649471A (en) * 1983-03-01 1987-03-10 Thomson Components-Mostek Corporation Address-controlled automatic bus arbitration and address modification
US4630230A (en) * 1983-04-25 1986-12-16 Cray Research, Inc. Solid state storage device
CA1213068A (en) * 1983-04-26 1986-10-21 Tandy Corporation Expandable mapped memory control
US4675808A (en) * 1983-08-08 1987-06-23 American Telephone And Telegraph Company At&T Bell Laboratories Multiplexed-address interface for addressing memories of various sizes
NZ209664A (en) * 1983-09-29 1987-05-29 Tandem Computers Inc Memory board address assignments: automatic reconfiguration
JPS60251403A (ja) * 1984-05-28 1985-12-12 Hitachi Ltd デジタル処理装置
EP0179981B1 (de) * 1984-10-26 1992-08-26 International Business Machines Corporation Datenverarbeitungsvorrichtung mit festem Adressraum und variablem Speicher
US4744053A (en) * 1985-07-22 1988-05-10 General Instrument Corp. ROM with mask programmable page configuration
US4740916A (en) * 1985-12-19 1988-04-26 International Business Machines Corporation Reconfigurable contiguous address space memory system including serially connected variable capacity memory modules and a split address bus
US4761736A (en) * 1986-01-02 1988-08-02 Commodore Business Machines, Inc. Memory management unit for addressing an expanded memory in groups of non-contiguous blocks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3148761C2 (de) * 1981-12-09 1985-08-22 Siemens AG, 1000 Berlin und 8000 München Schaltungsanordnung zum Adressieren unterschiedlicher Speichereinheiten in einem Mikrorechnersystem
US4485457A (en) * 1983-05-31 1984-11-27 Cbs Inc. Memory system including RAM and page switchable ROM
DE3812607A1 (de) * 1987-04-17 1988-10-27 Apple Computer Verfahren und schaltungsanordnung zur bestimmung der resourcenkonfiguration von in einem schlitz eines computers aufgenommenen schaltungen

Also Published As

Publication number Publication date
AU623457B2 (en) 1992-05-14
CN1043401A (zh) 1990-06-27
GB8927950D0 (en) 1990-02-14
JPH02201669A (ja) 1990-08-09
CN1014839B (zh) 1991-11-20
EP0372841A2 (de) 1990-06-13
BR8906348A (pt) 1990-08-21
KR920005289B1 (ko) 1992-06-29
JPH0743669B2 (ja) 1995-05-15
AR245832A1 (es) 1994-02-28
CA2000009A1 (en) 1990-06-09
EP0372841B1 (de) 1995-07-12
GB2225884A (en) 1990-06-13
MY108517A (en) 1996-10-31
US4979148A (en) 1990-12-18
DE68923433D1 (de) 1995-08-17
AU4609089A (en) 1990-06-14
CA2000009C (en) 1994-02-01
EP0372841A3 (de) 1991-06-12
PH26617A (en) 1992-08-19
DE68923433T2 (de) 1996-03-07
KR910012925A (ko) 1991-08-08
DE3940302C2 (de) 1993-02-25
NZ231639A (en) 1992-03-26

Similar Documents

Publication Publication Date Title
DE3940302C2 (de)
DE3906497A1 (de) Selbstkonfigurierendes speichersystem
DE2364408A1 (de) System zur erstellung von schaltungsanordnungen aus hochintegrierten chips
DE3885780T2 (de) Adressierung in einer Computer-Anordnung.
DE2758829C2 (de) Datenverarbeitungsanlage mit mehreren Prozessoren
EP0010186B1 (de) Vorrichtung zum Bearbeiten bezeichneter Hinweise
DE2310631B2 (de) Speicherhierarchie fur ein Datenverarbeitungssystem
DE68927361T2 (de) Chipkarte und Verfahren zum Wiedereinschreiben ihres Programmes
DE3856139T2 (de) Mikroprozessor
DE3911721C2 (de)
DE2900586C2 (de) Anordnung zum Decodieren von Codewörtern variabler Länge
EP1352318B1 (de) Mikroprozessorschaltung für tragbare datenträger
DE19628039B4 (de) Speicheradressen-Steuerschaltung
EP0265636A1 (de) Multiprozessor mit mehreren mit Cache-Speichern ausgerüsteten Prozessoren und einem gemeinsamen Speicher
DE3000012A1 (de) Schaltungsanordnung zur ausfuehrung eines uebertragungsbefehls in einer datenverarbeitungsanlage
DE2235883C3 (de) Datenverarbeitungseinrichtung
DE10105627B4 (de) Mehrfachanschlussspeichereinrichtung, Verfahren und System zum Betrieb einer Mehrfachanschlussspeichereinrichtung
EP1204917B1 (de) Operandenstapelspeicher und verfahren zum betreiben eines operandenstapelspeichers
DE2233164A1 (de) Schaltungsanordnung zur ausblendung eines beliebig waehlbaren bereichs einer bitfolge bei deren uebertragung zwischen zwei registern
DE2750126B2 (de)
DE69025268T2 (de) Schaltungsanordnung zur erweiterten Adressierung
DE3587326T2 (de) Programmierbare Datenpfadbreite in einer programmierbaren Einheit mit mehreren Niveaus von Unterbefehlssätzen.
WO2002099650A2 (de) Verfahren zur verwaltung eines speichers einer chipkarte
DE9412376U1 (de) Speicherschaltung zur Kompensation von Bitfehlern in Speicherbausteinen
DE10128752A1 (de) Verfahren zur Ablage von Daten in einen Speicherbaustein

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee