-
Die vorliegende Erfindung bezieht
sich auf eine Vorrichtung und ein Verfahren zum selektiven lindern
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 Rccess 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.
-
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
der Patentansprüche
7 und 9 gelöst.
-
Insbesondere durch die Verwendung
eines Korrektur-Speichers zum Speichern von Korrektur-Datensätzen, einem
Vergleicher zum Vergleichen der an einen 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-/Lesebefehlen der Datenverarbeitungseinheit können in
einem Nur-Lese-Speicher
abgelegte Programme auf besonders einfache und kostengü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 Kennzeichn 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.