-
Die
vorliegende Erfindung bezieht sich auf eine Vorrichtung und ein
Verfahren zum selektiven Ändern
von ROM-Daten und insbesondere auf eine Vorrichtung und ein Verfahren
zum selektiven Ändern von
ROM-Daten für
Test- und Diagnosezwecke in Telekommunikationsanlagen.
-
In
Telekommunikationsanlagen werden eine Vielzahl von Funktionen mittels
spezieller Software für
beispielsweise Anschlussbaugruppen zur Realisierung von Koppelfeldfunktionen
bzw. einer Vorvermittlung und zur Realisierung von Paketdatenvermittlung
benötigt. Ähnlich wie
die Vermittlungssoftware von Vermittlungssystemen sind derartige
Programme oftmals historisch gewachsen und müssen zudem besonders hohe Anforderungen
hinsichtlich ihrer Zuverlässigkeit
erfüllen.
-
Derartige
Programme werden üblicherweise in
sogenannten Nur-Lese-Speichern
bzw. ROMs (Read Only Memory) abgelegt, wodurch sich erhebliche Probleme
für eine
Fehlerbereinigung bzw. ein sogenanntes „Debuggen" von darin abgelegten Programmen bzw.
Programmmodulen ergeben. Während
bei sogenannten Schreib-Lese-Speichern
bzw. RAMs (Random Access Memory) die Daten flüchtig im Speicher abgelegt
sind und jede Speicherzelle einzeln ohne besonderen Aufwand adressiert
werden kann, lässt
sich ein Nur-Lese-Speicher bzw. ROM üblicherweise nur ganz oder
blockweise programmieren, wodurch sich ein äußerst aufwändiger Fehlerbereinigungs-
bzw. Debug-Prozess ergibt. Insbesondere für Datenverarbeitungseinheiten
bzw. Mikroprozessoren ohne eine spezielle Fehlerbereinigungs- bzw.
Debug-Unterstützung können die
für eine
Fehlerbereinigung notwendigen sogenannten Break-Points bzw. Unterbrechungspunkte
in einem Programmablauf nur mit großer Mühe realisiert werden. Dies
liegt insbesondere auch daran, dass Nur-Lese-Speicher und Schreib-Lese-Speicher (RAM)
nicht PIN-kompatibel sind und üblicherweise unterschiedliche
Gehäuse
aufweisen.
-
Zum
gezielten Ändern
derartiger ROM-Daten insbesondere für Test- und Diagnosezwecke mussten
daher üblicherweise
die gesamten ROM-Daten bzw. das komplette Programmmodul in einen
gleich großen
RAM-Schattenspeicher kopiert werden, in dem dann die Daten modifiziert
werden konnten. Eine derartige Realisierung ist jedoch außerordentlich
aufwändig
und somit kostenintensiv.
-
Aus
der US-Patentschrift
US 5,813,043 ist ein
Datenverarbeitungssystem bekannt, bei dem Adressdaten vergleichen
werden.
-
Der
Erfindung liegt daher die Aufgabe zu Grunde, eine Vorrichtung und
ein Verfahren zum selektiven Ändern
von ROM-Daten zu
schaffen, die besonders einfach und kostengünstig ist.
-
Erfindungsgemäß wird diese
Aufgabe hinsichtlich der Vorrichtung durch die Merkmale des Patentanspruchs
1 und hinsichtlich des Verfahrens durch die Maßnahmen des Patentanspruchs
7 gelöst.
-
Insbesondere
durch die Verwendung eines Korrektur-Speichers zum Speichern von
Korrektur-Datensätzen,
einem Vergleicher zum Vergleichen der an einem Adressbus anliegenden
Adressdaten mit den im Korrektur-Datenspeicher abgelegten Adressdaten
und zum Vergleichen der auf einem ROM-Datenbus anliegenden ROM-Daten
mit den Datenverarbeitungs-Daten einer Datenverarbeitungseinheit,
einer Auswahleinheit zum Auswählen zwischen
den ROM-Daten und den Korrektur-Daten und einer Steuereinheit zum
Steuern der Auswahleinheit, des Vergleichers und des Korrektur-Speichers
in Abhängigkeit
von Programmier-/Lesebefeh len der Datenverarbeitungseinheit können in
einem Nur-Lese-Speicher
abgelegte Programme auf besonders einfache und kos tengünstige Weise
mit zusätzlichen
Unterbrechungspunkten bzw. Break-Points "virtuell" versehen werden, wodurch sich Test- und Diagnoseprozeduren
wesentlich vereinfachen lassen.
-
Vorzugsweise
steuert der Vergleicher die Auswahleinheit und den Korrektur-Speicher
in Abhängigkeit
vom Vergleichsergebnis an, wodurch die eigentliche Steuereinheit
wesentlich entlastet wird und sich ein besonders einfacher Aufbau
ergibt.
-
Insbesondere
bei der Realisierung des Korrektur-Speichers mittels eines Adressregisters
und eines zugehörigen
Datenregisters kann der Aufbau weiter vereinfacht werden.
-
Hinsichtlich
des Verfahrens wird grundsätzlich
zwischen einem Verfahren zum selektiven Programmieren und zum Lesen
der selektiv geänderten ROM-Daten
unterschieden.
-
Beim
Programmierverfahren werden zunächst
ROM-Daten gelesen und eine Programmier-Betriebsart ausgewählt, wobei
anschließend
ein Vergleich der jeweils anliegenden Adressdaten mit einer Vielzahl
von im Korrektur-Speicher gespeicherten Adressdaten durchgeführt wird.
Sofern die Adressdaten nicht im Korrektur-Speicher enthalten sind,
erfolgt ein Speichern der jeweils anliegenden Adressdaten an einer
freien Stelle des Korrektur-Speichers. Sind andererseits die jeweils
anliegenden Adressdaten bereits im Korrektur-Speicher enthalten,
so wird im Korrektur-Speicher ein zu diesen Adressdaten zugehöriger Datensatz
mit zumindest Korrekturdaten ausgewählt. Anschließend werden die
von der Datenverarbeitungseinheit gesendeten und eigentlich einzuschreibenden
Daten (Break-Points)
mit den eingangs gelesenen ROM-Daten verglichen, wobei die ausgewählten Datensätze gelöscht werden,
wenn die ROM-Daten gleich den Datenverarbeitungsdaten sind, während andererseits
ein Eintragen der Datenverarbeitungsdaten in den ausgewählten Datensatz
als Korrekturdaten erfolgt, sofern die ROM-Daten ungleich den Datenverarbeitungsdaten
sind.
-
Vorzugsweise
enthält
der ausgewählte
Datensatz ein Kennzeichen, wobei entweder zum Löschen der ausgewählten Datensätze lediglich
das Kennzeichen als frei gesetzt wird, oder nach dem Eintragen der
Datenverarbeitungsdaten als Korrekturdaten bzw. Break-Points in
den ausgewählten
Datensatz das Kennzeichen als belegt gesetzt wird. Auf diese Weise
kann ein Programmieren bzw. Setzen und Löschen von Korrekturdaten bzw.
Break-Points in Programmen, die in Nur-Lese-Speichern „virtuell" gespeichert werden
sollen, besonders einfach durchgeführt werden.
-
Hinsichtlich
des Lesens der selektiv bzw, virtuell geänderten ROM-Daten wird wiederum
zunächst
ein Lesen von ROM-Daten für
jeweils anliegende Adressdaten aus dem Nur-Lese-Speicher sowie ein
Auswählen
einer Lese-Betriebsart durchgeführt,
wobei anschließend
ein Vergleich der jeweils anliegenden Adressdaten mit einer Vielzahl
von im Korrektur-Speicher gespeicherten Adressen erfolgt. Sofern
die anliegenden Adressdaten mit den gespeicherten Adressdaten übereinstimmen,
werden an die Datenverarbeitungseinheit zur jeweils anliegenden Adresse
zugehörigen
Korrekturdaten ausgegeben. Wenn andererseits die anliegenden Adressdaten nicht
mit den gespeicherten Adressdaten übereinstimmen, erfolgt ein
Ausgeben von zu den jeweils anliegenden Adressdaten zugehörigen ROM-Daten
des Nur-Lese-Speichers
unmittelbar an die Datenverarbeitungseinheit. Auf diese Weise kann
auch ein Lesen der selektiv bzw. virtuell geänderten ROM-Daten besonders
einfach und ohne tatsächliche Änderung der
Daten im Nur-Lese-Speicher durchgeführt werden.
-
In
den weiteren Ansprüchen
sind weitere vorteilhafte Ausgestaltungen der Erfindung gekennzeichnet.
-
Die
Erfindung wird nachfolgend anhand eines Ausführungsbeispiels unter Bezugnahme
auf die Zeichnung beschrieben.
-
Es
zeigen:
-
1 eine
vereinfachte Blockdarstellung einer Vorrichtung zum selektiven Ändern von
ROM-Daten;
-
2 eine
vereinfachte Darstellung zur Veranschaulichung eines Registeraufbaus
in einem zugehörigen
Korrektur-Speicher;
und
-
3 ein
vereinfachtes Flussdiagramm zur Veranschaulichung wesentlicher Verfahrensschritte zum
selektiven Ändern
von ROM-Daten.
-
1 zeigt
eine vereinfachte Blockdarstellung einer Vorrichtung zum selektiven
bzw. „virtuellen" Ändern von ROM-Daten, wie sie insbesondere
in Telekommunikationsanlagen für
Test- und Diagnosezwecke eingesetzt werden kann.
-
Gemäß 1 ist
eine Datenverarbeitungseinheit DV, welche üblicherweise einen Mikroprozessor
aufweist, über
eine Vorrichtung zum selektiven Ändern
von ROM-Daten bzw. einen Buskoppler BK mit einem Nur-Lese-Speicher
SP verbunden, der vorzugsweise eine ROM-Speichereinheit (Read Only Memory)
aufweist. Im Einzelnen ist die Datenverarbeitungseinheit DV unmittelbar über einen
Adressbus zum Übertragen
von Adressdaten A mit sowohl dem Nur-Lese-Speicher SP als auch der
Vorrichtung zum selektiven Ändern
von ROM-Daten bzw. dem Buskoppler BK verbunden. Die Adressdaten
werden hierbei von der Datenverarbeitungseinheit DV erzeugt und
ausgegeben und können
andererseits am Buskoppler BK und dem Nur-Lese-Speicher SP gelesen
werden.
-
Ferner
ist die Datenverarbeitungseinheit DV über einen Datenverarbeitungs-Datenbus
zum Übertragen
von Datenverarbeitungsdaten Dμp mit dem Buskoppler BK
verbunden, wobei dieser Bus einen bidirektionalen Datenbus zum Senden
und Empfangen von zu den Adressdaten A zugehörigen Daten der Datenverarbeitungseinheit
darstellt. Zur Realisierung eines Programmier- und Lesevorgangs ist der Buskoppler
BK ferner über
eine Leseleitung zum Empfangen eines Lesebefehls RD (Read), eine Schreibleitung
zum Empfangen eines Schreibbefehls WR (Write) und eine Baustein-Auswahlleitung
zum Empfangen eines Bau stein-Auswahl-Befehls CS (Chip Select) mit
der Datenverarbeitungseinheit DV verbunden.
-
Andererseits
ist der Nur-Lese-Speicher SP über
eine Freigabeleitung zum Empfangen eines Freigabesignals OE (Output
Enable) mit dem Buskoppler BK verbunden, wobei hierfür im Wesentlichen
der empfangene Lesebefehl RD (Read) verwendet wird. Zum Ausgeben
bzw. Senden von ROM-Daten DROM ist der Nur-Lese-Speicher SP
ferner über
einen ROM-Datenbus mit dem Buskoppler BK verbunden, wobei der ROM-Datenbus
zur Realisierung der vorstehend beschriebenen Test- und Diagnoseverfahren
lediglich einen unidirektionalen Bus zum Ausgeben der ROM-Daten
DROM aufweisen muss. Im Nur-Lese-Speicher
SP ist das eigentlich zu testenden bzw. zu diagnostizierende Programm
abgelegt, wobei die dafür
benötigten
sogenannten Break-Points bzw. Unterbrechungspunkte vom Buskoppler
BK virtuell realisiert werden.
-
Im
Einzelnen besitzt der Buskoppler BK hierfür eine Auswahleinheit 1,
die vorzugsweise eine Multiplexerstufe (MUX) aufweist und zwischen
den ROM-Daten DROM des ROM-Datenbusses sowie
in einem Datenregister 4 eines Korrektur-Speichers R abgelegten
Korrekturdaten Dx auswählen kann, wie sie vereinfacht
in 2 dargestellt sind.
-
Ferner
besitzt der Buskoppler BK einen Vergleicher 2, der beispielsweise
einen Zweifach-Komparator (CMP) aufweist und sowohl die am Adressbus
anliegenden Adressdaten A mit in einem Adressregister 3 des
Korrektur-Speichers R gespeicherten Adressdaten Ax vergleichen
kann, wie sie wiederum in 2 vereinfacht
dargestellt sind. Neben diesem Adressvergleich bzw. Vergleich von
anliegenden Adressdaten A und gespeicherten Adressdaten Ax kann ferner ein Vergleich der ROM-Daten
DROM des ROM-Datenbusses mit den von der
Datenverarbeitungseinheit DV gesendeten Datenverarbeitungsdaten
Dμp durchgeführt werden.
Zur Realisierung von eindeutigen Schaltzuständen können der jeweilige Datenverarbeitungs-Datenbus
und der ROM-Datenbus ferner steuerbare Leitungstreiber L1, L2 und
L3 aufweisen.
-
Vorzugsweise
wird gemäß 1 die
Auswahleinheit 1 sowie der Korrektur-Speicher R bzw. das
zugehörige
Adressregister 3 und das zugehörige Datenregister 4 unmittelbar
vom Vergleicher 2 bzw. von dessen Vergleichsergebnis gesteuert.
Auf diese Weise kann der Schaltungsaufbau wesentlich vereinfacht
werden. Lediglich für
eine Betriebsart-Steuerung wäre
demzufolge eine Steuereinheit 5 notwendig, mit der zwischen
einer Betriebsart „Programmieren" bzw. „Setzen" und „Löschen" von Break-Points bzw.
Korrekturdaten und einer Betriebsart „Lesen" ausgewählt werden kann. Darüber hinaus
kann die Steuereinheit 5 auch übergeordnete Steueraufgaben zur
unmittelbaren Ansteuerung der Auswahlstufe 1, des Vergleichers 2 und
des Korrektur-Speichers R mit seinem Adressregister 3 und
Datenregister 4 realisieren, wodurch sich jedoch ein Schaltungsaufwand erhöht.
-
Zur
Veranschaulichung einer Funktionsweise des in 1 dargestellten
Buskopplers BK sei zunächst
der in 2 vereinfacht dargestellte Aufbau des Korrektur-Speichers
R bzw. Patch-Registers beschrieben. Vorzugsweise besteht dieser
Korrektur-Speicher R aus einer Vielzahl von Datensätzen bzw.
Einzelregistern zur Speicherung von zumindest Adressdaten Ax in einem Adressfeld und Korrekturdaten
Dx in einem zugehörigen Datenfeld. Darüber hinaus
kann jeder dieser Datensätze
ein Kennzeichen Fx in einem Flag-Feld aufweisen,
wodurch sich insbesondere Löschoperationen
wesentlich vereinfachen lassen. Ein besonderer Vorteil dieser Erfindung besteht
nunmehr darin, dass im Korrektur-Speicher R nur so viele Datensätze bzw.
Speicherplätze
für die Schreibdaten
enthalten sein müssen,
wie es die spezifische Anwendung erfordert. In dem beschriebenen Anwendungsbeispiel
bestimmt demzufolge die Anzahl der beabsichtigten Break-Points bzw.
Unterbrechungspunkte die Speichergröße bzw. Anzahl x = 1 bis n
der Datensätze.
-
Im
Normalbetrieb bzw. in der Betriebsart „Lesen" wird der Buskoppler BK derart von der
Datenverarbeitungseinheit DV über
die Steuereinheit 5 angesteuert, dass alle ROM-Daten DROM direkt vom Nur-Lese-Speicher SP lesbar
sind. Genauer gesagt wird hierbei der Lesebefehl RD (Read) unmittelbar
an den Nur-Lese-Speicher
SP an dessen Freigabe-Eingang OE (Output Enable) weitergeleitet,
wodurch die zu den Adressdaten A zugehörigen ROM-Daten DROM an
die Auswahleinheit 1 ausgegeben werden und von dieser unmittelbar
bzw. über
die Leitungstreiber L1 an die Datenverarbeitungseinheit DV weitergereicht werden.
-
In
der Betriebsart „Programmieren" bzw. zum „Setzen" oder „Löschen" eines Break-Points
wird nunmehr auf eine zu einer am Adressbus anliegenden Adresse
bzw. zu anliegenden Adressdaten A scheinbar, d.h. virtuell, geschrieben.
Hierzu wird zunächst
ein Lesen im Nur-Lese-Speicher SP über einen Lesebefehl RD für die gleichen
Adressdaten A eingeleitet. Zusätzlich
wird vom Vergleicher bzw. einer Vergleichslogik 2 im Korrektur-Speicher
R bzw. im Adressregister 3 nachgesehen, ob diese Adressdaten
A bereits gespeichert bzw. vorhanden sind. Bei vorhandener Übereinstimmung
der Adressdaten A am Adressbus und der im Korrektur-Speicher R gespeicherten
Adressdaten Ax wird dieser Datensatz, d.h.
Adressdaten Ax und zugehörige Daten Dx des Datenfeldes,
verwendet. Falls keine Übereinstimmung
zwischen den Adressdaten A und den gespeicherten Adressdaten Ax vorhanden ist, wird ein neuer Datensatz
im Korrektur-Speicher R verwendet, sofern noch Datensätze frei
sind.
-
Zum
Setzen von Break-Points bzw. Unterbrechungspunkten werden demzufolge
die Datenverarbeitungsdaten Dμp des Mikroprozessors
bzw. der Datenverarbeitungseinheit DV in das entsprechende Datenregister 4 und
die zugehörige
Adresse in das Adressregister 3 eingetragen, sofern die
ROM-Daten des Nur-Lese-Speichers
SP ungleichen Inhalt wie die Datenverarbeitungsdaten Dμp der
Datenverarbeitungseinheit DV haben. Zusätzlich kann diese Registerkombination
bzw. dieser Datensatz über
ein Kennzeichen Fx als belegt gekennzeichnet
werden.
-
Zum
Löschen
von Break-Points bzw. Unterbrechungspunkten kann bei vorhandenen
Kennzeichen-Feldern das entsprechende Kennzeichen Fx für eine jeweilige
Registerkombination bzw. einen jeweiligen Datensatz als frei gesetzt
werden, wodurch es für
neue Einträge
freigegeben wird, sofern die Datenverarbeitungsdaten Dμp identisch
mit den ROM-Daten DROM sind.
-
Nach
einem derartigen Setzen oder Löschen von
Unterbrechungspunkten bzw. Break-Points werden wiederum in einer
Betriebsart „Lesen" bei jedem Lesezugriff
zunächst
die am Adressbus anliegenden Adressdaten vom Vergleicher 2 mit
den im Korrektur-Speicher R gespeicherten Adressdaten Ax verglichen,
sofern diese über
das Kennzeichen Fx als belegt gekennzeichnet
sind, wobei bei einer Übereinstimmung
das im Datenfeld des entsprechenden Datensatzes bzw. Datenregisters 4 abgelegte
Korrektur-Datum Dx über die Auswahleinheit 1 an
die Datenverarbeitungseinheit DV weitergegeben wird. Sind die am
Adressbus anliegenden Adressdaten in keinem der belegten Adressregister
bzw. Adressfelder enthalten, dann wird die Auswahleinheit 1 derart
angesteuert, dass wiederum die ROM-Daten DROM direkt
zu der Datenverarbeitungseinheit DV weitergeleitet werden. Auf diese
Weise können
während
eines Betriebs (virtuelle) Änderungen
in ROM-Speicherbereichen durchgeführt werden, ohne den ROM-Speicher
vorher durch einen Schreib-Lese- bzw.
RAM-Speicher zu ersetzen oder die ROM-Daten in einen gleich großen RAM-Schattenspeicher
zu kopieren. Ein weiterer Vorteil der vorliegenden Erfindung besteht
darin, dass nur so viele Datenspeicher bzw. Korrektur-Speicher vorzuleisten sind,
wie es eine jeweilige Anwendung erfordert. Die einzelnen Daten des
Nur-Lese-Speichers SP sind jedoch in diesem Umfang ohne Einschränkung in
dem gesamten auswählbaren
Adressbereich des Nur-Lese-Speichers änderbar.
-
3 zeigt
ein vereinfachtes Flussdiagramm zur Veranschaulichung wesentlicher
Verfahrensschritte, wie sie vom Buskoppler BK ausgeführt werden.
-
Gemäß 3 werden
nach einem Start im Schritt S0 zunächst die ROM-Daten DROM zu einer gerade anliegenden Adresse bzw.
zu anliegenden Adressdaten A aus dem Nur-Lese-Speicher SP in Schritt
S1 ausgelesen. Dieser Schritt kann jedoch auch zu einem späteren Zeitpunkt
und insbesondere nach dem Auswählen
einer Betriebsart in Schritt S2 durchgeführt werden.
-
Das
Auswählen
der Betriebsart in Schritt S2 ermöglicht zunächst das Durchführen von
zwei unterschiedlichen Zyklustypen, nämlich dem Lesen oder dem Programmieren
bzw. Setzen und Löschen
von sogenannten Break-Points bzw. Unterbrechungspunkten. Diese Auswahl
wird üblicherweise
von der Datenverarbeitungseinheit DV über die Steuereinheit 5 im
Buskoppler BK durchgeführt.
-
Falls
in Schritt S2 die Betriebsart „Programmieren" ausgewählt wurde,
erfolgt in Schritt S3 zunächst
ein Vergleich der auf dem Adressbus jeweils anliegenden Adressdaten
A mit den im Korrektur-Speicher bzw. Patch-Register R gespeicherten Adressdaten
Ax. Bei Übereinstimmung
bzw. wenn die jeweils anliegenden Adressdaten A im Korrektur-Speicher
R bzw. im Adressregister 3 enthalten waren, so wird in
einem Schritt S4 ein zu den anliegenden Adressdaten zugehöriger Datensatz
ausgewählt,
wobei zumindest zugehörige
Korrekturdaten Dx betrachtet werden.
-
Andererseits
werden in einem Schritt S5 die jeweils anliegenden Adressdaten A
an einer freien Speicherstelle x des Korrektur-Speichers R eingetragen,
sofern die anliegenden Adressdaten A nicht in einem belegten Datensatz
des Korrektur-Speichers enthalten
waren. Ob ein Datensatz bzw. ein Korrektur-Register als belegt gilt
oder nicht, kann beispielsweise durch ein Kennzeichen bzw. Flag
Fx angezeigt werden.
-
Anschließend werden
in einem Schritt S6 die von der Datenverarbeitungseinheit DV gesendeten bzw.
zu schreibenden Daten verarbeitungsdaten Dμp mit
den gelesenen ROM-Daten DROM verglichen.
-
Wenn
die ROM-Daten DROM gleich den Schreib- bzw.
Datenverarbeitungsdaten Dμp sind, so werden in einem
Schritt S9 die in Schritt S4 oder Schritt S5 ausgewählten Datensätze bzw.
Korrekturregister gelöscht.
Vorzugsweise geschieht dieses Löschen
der ausgewählten
Datensätze
dadurch, dass das zugehörige
Kennzeichen Fx als frei gesetzt wird. Ein
Löschen
von Datensätzen
ist dadurch besonders einfach zu realisieren. In gleicher Weise
könnten
jedoch auch die Daten in den Datenfeldern oder Adressfeldern des
Korrektur-Speichers R mit vorbestimmten Werten überschrieben werden.
-
Wenn
anderenfalls die ROM-Daten DROM ungleich
zu den Schreibdaten bzw. von der Datenverarbeitungseinheit DV gesendeten
Datenverarbeitungsdaten Dμp sind, so werden in einem
Schritt S7 diese Datenverarbeitungsdaten Dμp als
Korrekturdaten Dx in das Datenfeld des ausgewählten Datensatzes
eingetragen, wodurch der eigentliche Unterbrechungspunkt bzw. Break-Point
gesetzt wird. Bei Verwendung der vorstehend beschriebenen Kennzeichen
Fx kann ferner in einem Schritt S8 nach
dem Eintragen der Datenverarbeitungsdaten Dμp in
das Datenfeld des ausgewählten
Datensatzes das Kennzeichen Fx als belegt
gesetzt werden. Sowohl nach Schritt S8 als auch nach Schritt S9
endet das Verfahren in Schritt S13.
-
Wenn
andererseits im Schritt S2 die Betriebsart „Lesen" ausgewählt wurde, so werden in einem
nachfolgenden Schritt S10 wiederum zunächst die anliegenden Adressdaten
A mit der Vielzahl (n) von im Korrektur-Speicher R gespeicherten
Adressdaten Ax verglichen, wobei im Falle
der Verwendung von Kennzeichen Fx wiederum
lediglich die als belegt gekennzeichneten Datensätze bzw. Patch-Register in
Betracht gezogen werden. Da der Schritt S10 im Wesentlichen mit
dem Schritt S3 übereinstimmt, kann
dieser Vergleich selbstverständlich
auch zu einem früheren
Zeitpunkt durchgeführt
werden, wobei optional ein jeweiliger Schritt S2 zur Auswahl einer
jeweiligen Betriebsart nachgeschaltet sein könnte.
-
Wenn
die anliegenden Adressdaten A mit den gespeicherten und optional
als belegt gekennzeichneten Adressdaten Ax übereinstimmen,
so werden in einem Schritt S11 die zu den jeweils anliegenden Adressdaten
A bzw. gespeicherten Adressdaten Ax zugehörigen Korrekturdaten
Dx des Korrektur-Speichers R ersatzweise
für die
eigentlichen ROM-Daten ausgegeben und an die Datenverarbeitungseinheit
DV weitergeleitet, wodurch das Lesen des virtuell im Nur-Lese-Speicher
abgelegten Unterbrechungspunktes bzw. Break-Points realisiert wird.
-
Wenn
andererseits die anliegenden Adressdaten A nicht mit den gespeicherten
und optional als belegt gekennzeichneten Adressdaten Ax übereinstimmen,
so werden in einem Schritt S12 wie beim Normalbetrieb die zu den
jeweils anliegenden Adressdaten A zugehörigen ROM-Daten DROM des Nur-Lese-Speichers
SP an die Datenverarbeitungseinheit DV unmittelbar ausgegeben. Sowohl
nach Schritt S11 als auch nach Schritt S12 wird wiederum das Programm
im Schritt S13 beendet.
-
Auf
diese Weise erhält
man eine automatische und effektive Verwaltung von Schattenspeichern
auf variablen ROM-Adressen, wobei die Größe des Schattenspeichers wesentlich
kleiner als die Größe des Nur-Lese-
bzw. ROM-Speichers sein kann.
-
Die
Erfindung wurde vorstehend anhand eines Buskopplers zur Anbindung
von Mikroprozessoren an ROM-Speicher in Telekommunikationsanlagen
beschrieben. Sie ist jedoch nicht darauf beschränkt und umfasst in gleicher
Weise alternative Vorrichtungen und Verfahren zum selektiven bzw.
virtuellen Ändern
von ROM-Daten insbesondere für Test-
und Diagnosezwecke.