DE3856342T2 - Busfehlerverarbeitungssystem - Google Patents

Busfehlerverarbeitungssystem

Info

Publication number
DE3856342T2
DE3856342T2 DE3856342T DE3856342T DE3856342T2 DE 3856342 T2 DE3856342 T2 DE 3856342T2 DE 3856342 T DE3856342 T DE 3856342T DE 3856342 T DE3856342 T DE 3856342T DE 3856342 T2 DE3856342 T2 DE 3856342T2
Authority
DE
Germany
Prior art keywords
bus
interrupt
bus control
control module
exception process
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.)
Expired - Fee Related
Application number
DE3856342T
Other languages
English (en)
Other versions
DE3856342D1 (de
Inventor
Susumu Kaneko
Hiroyuki Kida
Keiichi Kurakazu
Takashi Maruyama
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Application granted granted Critical
Publication of DE3856342D1 publication Critical patent/DE3856342D1/de
Publication of DE3856342T2 publication Critical patent/DE3856342T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0745Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in an input/output transactions management context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Retry When Errors Occur (AREA)
  • Bus Control (AREA)
  • Advance Control (AREA)

Description

  • Die vorliegende Erfindung betrifft ein System zur Behandlung von Fehlern in einem Buszyklussystem.
  • Bei einem solchen System sind normalerweise Bussteuermodule mit einem oder mehreren gemeinsamen Bussen verbunden, wobei die Bussteuermodule die Signale auf dem Bus kontrollieren. Bei einem Ein-Chip-Mikrocomputer, auf den die vorliegende Erfindung besonders, aber nicht ausschließlich gerichtet ist, bildet eine Zentraleinheit (CPU) eines der Bussteuermodule, es gibt aber auch andere Bussteuermodule wie z. B. eine Direktzugriffsspeichersteuerung (DMAC). Der Einfachheit halber werden andere Bussteuermodule als die Zentraleinheit als "zusätzliche" Bussteuermodule bezeichnet.
  • Bei einem Ein-Chip-Mikrocomputer mit eingebauten Bussteuermodulen wie einer CPU und einer DMAC kann, wenn in einem Buszyklus, der von einem zusätzlichen Bussteuermodul gestartet wurde, ein Busfehler aufgetreten ist, dieser dadurch behoben werden, daß das jeweilige zusätzliche Bussteuermodul die CPU auffordert, einen dem Busfehler entsprechenden Interruptprozeß auszuführen.
  • Solche Busfehler treten z. B. darin auf, wenn versucht wird, auf einen Adressenbereich zuzugreifen, in dem eine periphere Schaltung oder dergleichen nicht wirklich abgebildet ist, oder wenn mit einem "Benutzer"-Status auf einen Speicherbereich oder ein Peripheriegerät zugegriffen wird, das den Status "Supervisor" aufweist.
  • Bei den bestehenden Systemen wird der dem zusätzlichen Bussteuermodul zuschreibbare Busfehler durch den Interruptprozeß in der CPU behandelt, wie es zum Beispiel in "Signetics, SCC 68070, Objective Specification", Seite 10, veröffentlicht im Dezember 1985, beschrieben ist. Wenn zum Beispiel im Buszyklus einer DMAC ein Busfehler aufgetreten ist, beendet die DMAC beim Erfassen des Busfehlers ihre Di rektzugriffsspeicheroperation und nimmt einen Busfehlerstatus an. Danach gibt die DMAC die Steuerung des Busses frei und führt der Interruptsteuerung ein Interruptsignal zu. Die Interruptsteuerung gibt an die CPU eine Interruptanforderung für einen Busfehlerprozeß in dem Bereich, der gemäß einem Interrupt-Prioritätswert erlaubt ist, und Interrupt-Maskeninformationen ab. Die CPU bestätigt den Busfehlerstatus der DMAC entsprechend einem vorgegebenen Interrupt-Reaktionszyklus und führt für den Busfehlerprozeß ein Dienstprogramm aus.
  • Im allgemeinen gibt es eine Anzahl von Arten von Faktoren für Interrupts, und die Prioritätsebenen der verschiedenen Interrupts werden in Abhängigkeit vom vorgegebenen Grad der Bedeutung dieser Faktoren vorab eingestellt. Aus diesem Grund wird, wenn bereits ein Interrupt angenommen wurde, dessen Priorität höher ist als die eines Interrupts für einen Busfehler, oder wenn der Interrupt für den Busfehler mit einer anderen Interruptanforderung zusammentrifft, der Interruptprozeß für den Busfehler zurückgewiesen und verschoben. Auch wenn der Busfehler vorab als nicht maskierbarer Interruptfaktor eingestellt wird, wird, wenn ein Ausnahmeprozeß oder ein nicht maskierbarer Interrupt für einen anderen Faktor bereits früher angenommen wurde, eine Interruptanforderung mit einer Priorität unter der des bereits früher angenommenen Prozesses nicht angenommen, mit dem Ergebnis, daß der Interruptprozeß für den Busfehler in manchen Fällen nicht in Erscheinung tritt. Die Erfinder der vorliegenden Erfindung haben herausgefunden, daß, wenn der einem zusätzlichen Bussteuermodul zuschreibbare Busfehler durch einen Interrupt in der CPU verarbeitet wird, die Zuverlässigkeit der Operation des Systems drastisch abnehmen kann, wenn der Buszyklus der DMAC oder dergleichen hinsichtlich des Betriebs des Systems genauso wichtig ist wie der der CPU.
  • Auch wenn die Interruptanforderung für den Busfehler bereits von der CPU angenommen wurde, müssen bereits vor dem Start des Dienstprogramms für die Busfehlerbehandlung die Entscheidungen über den Interruptfaktor und die Priorität und auch die Änderung der Einstellung der Interrupt-Maskenbits erfolgt sein, damit danach andere Interruptanforderungen mit Prioritäten unter der der Interruptanforderung für den Busfehler zurückgewiesen werden. Dadurch ergibt sich das Problem, daß eine nicht vernachlässigbare Zeitspanne vergeht, bis das Dienstprogramm gestartet werden kann.
  • Das Benutzerhandbuch für den Motorola M 68000 8-/16- /32-Bit-Mikroprozessor, siebte Ausgabe, PRENTICE HALL, das eine Zusammenfassung von früher veröffentlichten Dokumenten darstellt, beschreibt einen Mikroprozessor mit einer Busfehlereingabe. Diese Eingabe bewirkt, daß innerhalb von zwei Taktzyklen die laufende Anweisung abgebrochen und mit dem Ausnahmeprozeß begonnen wird.
  • Die Zusammenfassung der JP-A-59 195 736 beschreibt eine Fehlererfassungsschaltung, die ein Busfehlersignal erzeugen kann.
  • In Hitachi Review, Bd. 35 Nr. 5, Oktober 1986, Seiten 241-246, Tokio, Japan, ist ein MPU ähnlich dem im Motorola- Handbuch beschrieben, der eine Busfehlereingabe und eine mit dem MPU verbundene Direktzugriffsspeichersteuerung aufweist. Die beschriebene DMAC signalisiert dem MPU Busfehler mittels eines Interruptsignals. Diese Kombination bildet die Basis für den Oberbegriff des Patentanspruchs 1. In Electronic Components and Applications, Bd. 8 Nr. 2, 1987, Seiten 95-100, Eindhoven, NL ist ein ähnliches System wie in dem Artikel in Hitachi Review beschrieben, das in einem einzigen Chip enthalten ist.
  • Die vorliegende Erfindung umfaßt eine Datenverarbeitungseinheit mit einem Bus (ABUS, DBUS), einer Zentraleinheit und einem Bussteuermodul, bei der das Bussteuermodul derart ausgebildet ist, daß bei Erhalt eines Busfehler-Erfassungssignals (BERRdmac) während einer Bussteuerung durch das Bussteuermodul ein Ausnahmeprozeß-Anforderungssignal (BETREQ) direkt an die Zentraleinheit abgegeben und die Bussteuerung freigegeben wird; bei der
  • die Zentraleinheit zur Aufnahme des Ausnahmeprozeß- Anforderungssignals (BETREQ) vom Bussteuermodul einen besonderen Eingang besitzt und derart ausgestattet ist, daß, nachdem die Zentraleinheit die Bussteuerung aufgrund der Freigabe durch das Bussteuermodul übernommen hat, ein Ausnahmeprozeßprogramm gemäß dem Ausnahmeprozeß-Anforderungssignal (BETREQ) ohne Beurteilung von Interrupt-Maskenbits nach Empfang der Ausnahmeprozeß-Anforderungssignale (BETREQ) durch den besonderen Eingang ausgeführt wird; und bei der
  • eine Interruptsteuerung an die Zentraleinheit gekoppelt ist, wobei die Interruptsteuerung eine Anzahl von Eingängen zur Aufnahme einer Anzahl von Interrupt-Anforderungssignalen (INT1-NMI2) besitzt;
  • wobei die Zentraleinheit ein Statusregister aufweist, das Interrupt-Maskenbits zur Speicherung von Maskeninformationen enthält, die die Prioritätsebene einer Interruptanforderung angeben, die die Zentraleinheit bei Empfang eines der Interrupt-Anforderungssignale auszuführen hat, und wobei die Zentraleinheit bei Annahme der Interruptanforderung die Interrupt-Maskenbits setzt, um ein Interrupt-Prozeßprogramm auszuführen und um das Ausnahmeprozeßprogramm auszuführen, ohne Interrupt-Maskenbits zu setzen.
  • Keiner der oben genannten Artikel zum Stand der Technik umfaßt einen besonderen Eingang zur Busfehlererfassung von zusätzlichen Bussteuermodulen.
  • Erfindungsgemäß wird daher der Busfehler, der einem zusätzlichen Bussteuermodul zuzuschreiben ist, als der spezielle Faktor des Ausnahmeprozesses für die CPU gesetzt. Gemäß der Ausnahmeprozeßanforderung beginnt die CPU mit der Ausführung des dem Ausnahmeprozeß entsprechenden Dienstprogramms, ohne den Prozeß zum Ändern und Einstellen der Maskenbits auszuführen, der bei einer Interruptanforderung sonst ausgeführt wird. Die für den Busfehler spezifische Ausnahmeprozeßanfor derung wird daher nicht von z. B. einer Interruptanforderung unterdrückt, die vor dem Busfehler angenommen wurde. Es wird außerdem möglich, die Zeitspanne zu verkürzen, die vergeht, bis das Dienstprogramm für den Ausnahmeprozeß zu laufen beginnt. Daher wird, auch wenn das zusätzliche Bussteuermodul den Busfehler-Ausnahmeprozeß während der Ausführung eines anderen Ausnahmeprozesses oder eines Interruptprozesses durch die CPU anfordert, die Anforderung für diesen Busfehler-Ausnahmeprozeß durch den bereits ausgeführten Interruptprozeß oder den anderen Ausnahmeprozeß nicht unterdrückt, und es kann bevorzugt mit der Ausführung des Ausnahmeprozesses für den Busfehler des zusätzlichen Bussteuermoduls begonnen werden.
  • Die Zeitspanne, die zwischen der Anforderung für den Busfehler-Ausnahmeprozeß durch das zusätzliche Bussteuermodul und dem Start der Ausführung des entsprecheden Dienstprogramms vergeht, kann kürzer sein als die, die auftritt, wenn der Busfehler mit einem Interruptprozeß verarbeitet wird.
  • Folglich wird, auch wenn die Datenübertragungsoperation durch das zusätzliche Bussteuermodul für den Betrieb des Systems genauso wichtig ist wie der Buszyklus der CPU, der Prozeß für den Busfehler des zusätzlichen Bussteuermoduls durch den Ausnahmeprozeß auf ähnliche Weise wie der Prozeß für einen Busfehler der CPU ausgeführt. Im Ergebnis ist die Zuverlässigkeit des Systembetriebs erhöht.
  • Bei der Bearbeitung eines Busfehlers des zusätzlichen Bussteuermoduls (der aufgetreten ist, wenn die CPU die Bussteuerung dem zusätzlichen Bussteuermodul im Verlauf der Ausführung einer Anweisung übergeben hat), erhält die CPU die Bussteuerung beim Auftreten des Busfehlers des Bussteuermoduls zurück und führt die übrigen Prozesse der Anweisung aus, wonach sie die Ausnahmeprozeßanforderung annimmt, wodurch verhindert wird, daß der von der CPU ausgeführte Prozeßanteil verlorengeht.
  • Auch braucht die CPU, wenn die jeweilige Anforderung für den Busfehler des zusätzlichen Bussteuermoduls durch eine bestimmte Signalleitung an den dazugehörigen Anschluß der CPU für diese Anforderung durch zum Beispiel Ausbilden der CPU und dem zusätzlichen Bussteuermodul auf dem gleichen Halbleitersubstrat angelegt wird, die Ausnahmeprozeßanforderung nicht zu analysieren, so daß es möglich ist, die Zeitspanne weiter zu verkürzen, die vergeht, bis mit der Ausführung des Dienstprogramms für den Ausnahmeprozeß für den Busfehler des Bussteuermoduls begonnen wird.
  • Eine Ausführungsform der Erfindung wird nun beispielhaft anhand der anliegenden Zeichnung genauer beschrieben. Es zeigen:
  • Fig. 1 ein Blockschaltbild einer Ausführungsform eines Ein-Chip-Mikrocomputers gemäß der vorliegenden Erfindung;
  • Fig. 2 ein Flußdiagramm für ein Beispiel der Operation des Behandelns des Busfehlers einer Direktzugriffsspeichersteuerung (DMAC) mit einer bestimmten Ausnahmeprozeßanforderung; und
  • Fig. 3 ein Flußdiagramm für ein Beispiel der Operation des Behandelns des Busfehlers der DMAC bei einer Interruptanforderung.
  • Fig. 4 zeigt einen Ein-Chip-Mikrocomputer, der eine Ausführungsform der vorliegenden Erfindung darstellt. Auch wenn die Erfindung darauf nicht beschränkt ist, ist der gezeigte Ein-Chip-Mikrocomputer MCU mittels der bekannten Techniken zum Herstellen von integrierten Halbleiterschaltungen auf einem einzigen Halbleitersubstrat ausgebildet.
  • Der in der Fig. 1 gezeigte Ein-Chip-Mikrocomputer MCU umfaßt eine Zentraleinheit (CPU) 1, die mit einem Adressenbus ABUS und einem Datenbus DBUS verbunden ist. Als Beispiel für ein zusätzliches Bussteuermodul (d. h. ein Modul neben der CPU) umfaßt er eine Direktzugriffsspeichersteuerung (DMAC), die mit dem Adressenbus ABUS und dem Datenbus DBUS verbunden ist. Auch wenn es nicht gezeigt ist, sind mit dem Adressenbus ABUS und dem Datenbus DBUS außerdem Busnebenmodule wie ein Programmspeicher zum Speichern eines Programms und eine Eingabe/Ausgabeschaltung verbunden.
  • Die CPU 1 kann ein allgemeines Register, einen Programmzähler, ein Statusregister, ein Rechenwerk usw. umfassen; sie nimmt prinzipiell Befehle von einem Programmspeicher (nicht gezeigt) auf und führt aufeinanderfolgend vorgegebene Datenprozesse aus.
  • Auf der Basis von selbst gestarteten Buszyklen überträgt die DMAC 2 Datenblöcke zwischen Speichern und auch Daten zwischen sich und einer Plattensteuerung, einer Kommunikationsinterfacesteuerung usw. nach einem Cycle-Stealing- System oder einem Burst-System.
  • Gemäß dieser Ausführungsform teilt ein Buszuteiler 3 die Bussteuerung zwischen der CPU 1 und der DMAC 2 auf. Der Buszuteiler 3 verteilt die Anforderungen für die Bussteuerung auf der Basis eines Busanforderungssignals BREQcpu von der CPU 1 und eines Busanforderungssignals BREQdmac von der DMAC 2. Er teilt die Bussteuerung durch die Ausgabe eines Busbestätigungssignals BACKcpu der CPU 1 und durch die Ausgabe eines Busbestätigungssignals BACKdmac der DMAC 2 zu. Obwohl nicht darauf beschränkt, weisen die Busanforderungssignale BREQcpu und BREQdmac und die Busbestätigungssignale BACKcpu und BACKdmac als Anforderungspegel bzw. Bestätigungspegel einen hohen Pegel auf.
  • In der Fig. 1 bezeichnet das Bezugszeichen 4 eine Chipauswahlsteuerung, die eine Schaltung ist, die Chipauswahlsignale zur Auswahl von peripheren Schaltungen bildet, denen Adressenräume zugeordnet sind, die vom Ein-Chip-Mikrocomputer MCU verwaltet werden. Obwohl nicht darauf beschränkt, bildet die Chipauswahlsteuerung 4 vier Chipauswahlsignale CS1-CS4 mit jeweils einem hohem Pegel als Auswahlpegel aus. Jedes der Chipauswahlsignale ist auf einen Satz aus einem Bereichsbasisregister 5, einem Bereichsweitenregister 6 und einem Komparator 7 gerichtet. Zum Beispiel befin det sich die Startadresse eines Adressenbereiches, der einer bestimmten peripheren Schaltung zugeordnet ist, im Bereichsbasisregister 5, während sich die Größe des Adressenbereiches, der der bestimmten peripheren Schaltung zugeordnet ist, im Bereichsweitenregister 6 befindet. Der Komparator 7 vergleicht die Adresse auf dem Adressenbus ABUS mit den Adressen in dem Bereich, der vom Bereichsbasisregister 5 sowie dem Bereichsweitenregister 6 bezeichnet wird, und er bringt das entsprechende Chipauswahlsignal auf den Auswahlpegel (hohen Pegel), wenn sich die Adresse auf dem Bus in diesem Bereich befindet. Es ist im übrigen ein Dekoder erforderlich, der die Adressensignale außerhalb des Mikrocomputers MCU so dekodiert, daß sie Chipauswahlsignale bilden, wenn fünf oder mehr periphere Schaltungen in dem Adressenraum abgebildet sind, der vom Ein-Chip-Mikrocomputer MCU verwaltet wird. Daneben können die Chipauswahlsignale CS1-CS4 direkt nach außen übertragen werden, wenn sie nach außen zu liefern sind. Alternativ werden die Chipauswahlsignale im Mikrocomputer MCU in 2-Bit-Signale umgewandelt und diese 2-Bit-Signale nach außen geführt, und außerhalb des Mikrocomputers MCU werden die Signale dann in verwendbare 4-Bit-Signale umgewandelt.
  • In der Fig. 1 bezeichnet das Bezugszeichen 8 eine Interruptsteuerung, der verschiedene Interruptsignale NMI1, NMI2 und INT1-INTn von vorgegebenen peripheren Schaltungen innerhalb und außerhalb des Ein-Chip-Mikrocomputers MCU zugeführt werden. Bei dieser Ausführungsform sind die Interruptsignale NMI1 und NMI2 sogenannte nicht maskierbare Interruptsignale, die sich auf der höchsten Prioritätebene der verschiedenen Interruptsignale befinden. Im Gegensatz dazu sind die Interruptsignale INT1-INTn maskierbare Interruptsignale, die sich auf Prioritätsebenen befinden, die sich in der erwähnten Reihenfolge sukzessiv verringern. Die Informationen über die Prioritätsebenen sind in der CPU 1 gespeichert.
  • Das Statusregister 20 der CPU 1 enthält als Steuerinformationen für Interruptanforderungen Interruptfreigabebits und Interruptmaskenbits. Die Interruptfreigabebits werden als Maskeninformationen verwendet, wenn, auch wenn Interruptanforderungen ausgegeben wurden, diese aufgrund der Erzeugungsquellen davon nicht zur CPU 1 gegeben werden, und sie können in einer eins-zu-eins-Korrespondenz zu den Interruptsignalen INT1-INTn gesetzt werden. Wenn während der Ausführung eines Interruptprozesses oder dergleichen durch die CPU 1 eine weitere Interruptanforderung erfolgt, werden die Interruptmaskenbits als Maskeninformationen zur Bestimmung verwendet, ob die spätere Interruptanforderung angenommen wird. Diese Interruptmaskenbits können jeweils in einer eins-zu-eins- Korrespondenz zu den verschiedenen Interruptsignalen NMI1, NMI2 und INT1-INTn gesetzt werden.
  • Wenn mittels eines der Interruptsignale NMI1, NMI2 und INT1-INTn von innerhalb oder außerhalb des Mikrocomputers MCU ein Interrupt angefordert wird, entscheidet die Interruptsteuerung 8 durch ein schematisch gezeigtes logisches Gatter 21, ob ein dem Interruptsignal entsprechendes Interruptfreigabebit gesetzt wird oder nicht. Wenn der Interrupt freigegeben wird, wird die entsprechende Interruptanforderung zu einer Prioritätsebenen-Zuteilungsschaltung 22 gegeben. Wenn gleichzeitig eine Anzahl von Interruptanforderungen erzeugt wird, teilt sie die Pioritätsebenen-Zuteilungsschaltung 22 gemäß den vorgegebenen Prioritätsebenen zu und steuert sie so, daß die Anforderung mit der relativ höchsten Priorität angenommen wird. Die durch die Prioritätsebenen-Zuteilungsschaltung 22 gelaufene Interruptanforderung wird zu einer Vergleichs- und Beurteilungseinrichtung 23 in der CPU 1 geführt. Die Vergleichs- und Beurteilungsschaltung 23 stellt fest, ob die von der Interruptsteuerung 8 erhaltene Interruptanforderung vom Interruptmaskenbit des Statusregisters 20 maskiert wird. Wenn sie nicht maskiert wird, wird die Interruptanforderung zu der Ausführungseinheit 24 der CPU 1 geführt. Die CPU 1 speichert den Status des Programmzählers und den des Statusregisters 20, und sie ändert die Interruptmas kenbits des Statusregisters 20 und stellt sie so ein, daß keine neuen Interruptanforderungen angenommen werden, deren Prioritätsebenen unter der der angenommenen Interruptanforderung liegen. Des weiteren zeigt die CPU 1 die Startadresse des Dienstprogramms an, das zu der angenommenen Anforderung gehört, und führt das Programm aus, um den Interruptprozeß durchzuführen.
  • Wenn durch das Interruptsignal NMI1 oder NMI2 ein Interrupt von außen angefordert wird, wird das Interruptmaskenbit von der Vergleichs- und Beurteilungseinrichtung 23 direkt geprüft, ohne daß eine Entscheidung über ein Interruptfreigabebit und die Zuteilung auf der Basis der Prioritätsebenen erfolgt. Auch im Falle einer nicht maskierbaren Interruptanforderung durch ein solches Interruptsignal NMI1 oder NMI2 wird der Prozeß zum Ändern und Einstellen der Interruptmaskenbits ähnlich wie oben nach dem Prozeß zum Speichern der Statusse ähnlich wie oben ausgeführt. Auch wenn daher zum Beispiel die Interruptanforderung auf der Basis des Interruptsignals NMI2 während eines Interruptprozesses auf der Basis des anderen Interruptsignal NMI1 erfolgt, wird sie aufgrund der Prüfung der Interruptmaskenebene nicht angenommen.
  • Es wird nun der Aufbau für einen Busfehlerprozeß bei dem Ein-Chip-Mikrocomputer dieser Ausführungsform beschrieben.
  • Auch wenn damit keine besondere Beschränkung beabsichtigt ist, wird diese Ausführungsform anhand der Verarbeitung eines Busfehlers beschrieben, bei dem auf einem Bereich im Adressenraum, der von dem Ein-Chip-Mikrocomputer verwaltet wird, zugegriffen wird, dem keine periphere Schaltung zugeordnet ist.
  • Bei dieser Ausführungsform werden, um solche Busfehler in den selbst gestarteten Buszyklen zu erfassen, die CPU 1 und die DMAC 2 als die Bussteuermodule jeweils mit dem Ausgangssignal eines UND-Gatters 9, das das logische Produkt zwischen dem Bussteuer-Bestätigungssignal BACKcpu und einem Busfehlersignal BERR mit einem hohen Pegel im Fehlerfall darstellt, bzw. mit dem Ausgangssignal eines UND-Gatters 10 versorgt, das das logische Produkt zwischen dem Bussteuer- Bestätigungssignal BACKdmac und dem Busfehlersignal BERR darstellt, auch wenn sie nicht darauf beschränkt ist. Obwohl nicht darauf beschränkt, wird das Busfehlersignal BERR durch das Ausgangssignal eines UND-Gatters 11 gebildet, das das logische Produkt zwischen den Busfehlersignalen BERR1 und BERR2 darstellt. Das Busfehlersignal BERR1 ist das Ausgangssignal eines UND-Gatters 12, dem an seinen 4 Eingängen die Chipauswahlsignale CS1-CS4 mit invertiertem Pegel zugeführt werden und das das logische Produkt davon erzeugt. Andererseits ist das Busfehlersignal BERR2 ein Signal, das durch das logische Produkt der jeweiligen Ausgangssignale eines nicht gezeigten Dekoders mit invertiertem Pegel erhalten wird, der die Adressensignale außerhalb des Ein-Chip-Mikrocomputers dekodiert, um die Chipauswahlsignale zu bilden.
  • Entsprechend wird, wenn die Adressensignale, die in dem auf der CPU 1 oder der DMAC 2 basierenden Buszyklus erzeugt werden, einem Adressenbereich entsprechen, dem keine periphere Schaltung zugeordnet ist, das Busfehlersignal BERR auf den hohen Pegel gebracht. Wenn ein solcher Busfehler in einem Buszyklus auftritt, der von der CPU 1 gestartet wurde, nimmt die CPU 1 das Ausgangssignal des UND-Gatters 9 mit hohem Pegel zu einer bestimmten Zeit auf und stellt so den Busfehler fest. Wenn der Busfehler in einem Buszyklus auftritt, der von der DMAC 2 gestartet wurde, nimmt diese DMAC 2 das Ausgangssignal des UND-Gatters 10 auf hohem Pegel zu einer bestimmten Zeit auf und stellt so den Busfehler fest.
  • Das Busfehler-Erfassungssignal BERRcpu vom UND-Gatter 9 ist gleichzeitig eine Anforderung für einen für den Busfehler der CPU 1 spezifischen Ausnahmeprozeß. Entsprechend speichert die CPU 1 den Status des Programmzählers und den des Statusregisters 20, wenn der spezifische Ausnahmeprozeß durch das Busfehler-Erfassungssignal BERRcpu angefordert wird, und sie zeigt danach die Startadresse des Dienstprogramms an, das dem Ausnahmeprozeß zugeordnet ist, und führt das Programm aus, um einen Wiederherstellungsprozeß, einen Wiederversuchsprozeß oder dergleichen für den Busfehler durchzuführen.
  • Sobald die DMAC 2 auf der Basis des Busfehler-Erfassungssignals BERRdmac vom UND-Gatter 10 einen Busfehler feststellt, beendet es eine Direktzugriffsspeicheroperation und gibt ein Busfehlerprozeß-Anforderungssignal BETREQ direkt an die CPU 1 aus. Das Busfehlerbehandlungs-Anforderungssignal BETREQ ist eine Anforderung für einen spezifischen Ausnahmeprozeß für die CPU 1 für den Busfehler der DMAC 2. Wenn der spezifische Ausnahmeprozeß für den Busfehler der DMAC 2 angefordert wird, speichert die CPU 1 den Status des Programmzählers und den des Statusregisters 20 zu einem vorgegebenen Zeitpunkt nach der Übernahme der Bussteuerung, woraufhin sie sofort die Startadresse des Dienstprogramms anzeigt, das dem Ausnahmeprozeß zugeordnet ist, und das Programm ausführt, um einen Wiederherstellungsprozeß, einen Wiederversuchsprozeß oder dergleichen für den Busfehler durchzuführen.
  • Dem Ausnahmeprozeß der CPU wird dabei eine Prioritätsebene zugeteilt, die wegen der Bedeutung des Einflusses, den der Faktor des Auftretens des Ausnahmeprozesses auf den Systembetrieb hat, höher ist als die der Interruptprozesse. Um dies zu reflektieren, wird der Prozeß, der der Prüfung des Interruptmaskenbits entspricht, beim Ausnahmeprozeß nicht ausgeführt, und auch der bei einer Interruptanforderung ausgeführte Prozeß zum Ändern der Einstellung der Interruptmaskenbits wird nicht durchgeführt, und nachdem die Statusse gespeichert sind, wird sofort das dem Ausnahmeprozeß entsprechende Dienstprogramm ausgeführt. Wenn daher der Ausnahmeprozeß für den Busfehler während der Ausführung eines anderen Ausnahmeprozesses oder eines Interruptprozesses durch die CPU 1 angefordert wird, wird der gerade ausgeführte Prozeß unterbrochen, und der Ausnahmeprozeß für den Busfehler wird bevorzugt ausgeführt. Auf diese Weise kann eine Anweisung, die die Einstellung der Interruptmaskenbits verändert, so daß erforderlichenfalls beim Systembetrieb alle oder einige der Interrupts maskierbar sind, vorab in das Dienstprogramm des jeweiligen Ausnahmeprozesses eingeschlossen werden, wenn die Annahme von Interrupts mit niedrigeren Prioritätsebenen während des Busfehler-Ausnahmeprozesses verweigert werden soll. Auch wenn eine solche Anweisung hinzugefügt wird, wird die Busfehler-Ausnahmeprozeßanforderung davon nicht behindert und durch den bereits ausgeführten Interruptprozeß oder einen anderen Ausnahmeprozeß nicht verhindert, und die Zeitspanne von der Busfehler-Ausnahmeprozeßanforderung bis zum Start der Ausführung des Dienstprogramms ist verkürzt.
  • Bei der Verarbeitung eines Busfehlers, der aufgetreten ist, wenn die CPU 1 die Bussteuerung während der Ausführung einer Anweisung an die DMAC 2 übergeben hat, übernimmt die CPU 1 nach dem Auftreten des Busfehlers der DMAC 2 wieder die Bussteuerung, führt den Restprozeß der laufenden Anweisung aus und nimmt dann die Anforderung für den Ausnahmeprozeß des Busfehlers an, damit der von der CPU 1 bereits halb ausgeführte Prozeß nicht verlorengeht.
  • Durch Bezug auf das Flußdiagramm der Fig. 2 wird nun die Verarbeitung der CPU 1 für einen im Buszyklus der DMAC 2 bei dieser Ausführungsform aufgetretenen Busfehler beschrieben.
  • Die CPU 1 führt eine Operation mit einem Buszugriff aus (Schritt STP 1), und die DMAC 2 fordert die Bussteuerung an (Schritt STP 2). Dann gibt die CPU 1 die Bussteuerung zugunsten eines internen Prozesses ab (Schritt STP 3), und die DMAC 2 übernimmt die Bussteuerung in Reaktion auf die Abgabe. Die DMAC 2 startet so ihren Buszyklus (Schritt STP 4). Wenn bei dieser Gelegenheit ein Busfehler auftritt, bei dem die DMAC 2 auf eine periphere Schaltung oder einen Speicherbereich zugreift, der nicht in einem Adressenraum abgebildet ist (Schritt STP 5), geht das Busfehler-Erfassungssignal BERRdmac, das von UND-Gatter 10 ausgegeben wird, auf den hohen Pegel.
  • Nach dem Erfassen des Busfehlers durch den Übergang des Busfehler-Erfassungssignals BERRdmac auf den hohen Pegel beendet die DMAC 2 sofort den Buszyklus, um die Direktzugrifsspeicheroperation zu stoppen (Schritt STP 6), und sie gibt die Bussteuerung frei und gibt das Busfehlerprozeß- Anforderungssignal BETREQ an die CPU 1 aus, um den entsprechenden Ausnahmeprozeß anzufordern (Schritt STP 7).
  • Bei dieser Gelegenheit hat die CPU 1 bereits den internen Prozeß beendet und fordert zum Beispiel die Bussteuerung an (Schritt STP 8). Wenn die CPU 1 die Bussteuerung aufgrund der Freigabe durch die DMAC 2 übernimmt, führt sie den Restprozeß für die eine Anweisung aus, deren Verarbeitung unterbrochen wurde (Schritt STP 9), um zu verhindern, daß ein vorhergehender Prozeß verlorengeht. Zum Beispiel ist die Anweisung die MOVE-Anweisung. Wenn die CPU 1 einen Lesezyklus ausgeführt und die Bussteuerung freigegeben hat, mit dem Ergebnis eines nicht erfolgten Schreibzyklusses, führt sie nun den Schreibzyklus aus. Nachdem die CPU 1 den letzten Prozeß der Anweisung ausgeführt hat, nimmt sie die Ausnahmeprozeßanforderung für den Busfehler der DMAC 2 auf (Schritt STP 10).
  • Der Hauptfluß der CPU 1 wird so unterbrochen, und der Status des Programmzählers und der des Statusregisters 20 wird bei dieser Gelegenheit gespeichert (Schritt STP 11). Dann wird sofort die Startadresse für das Dienstprogramm für den für den Busfehler, der der DMAC 2 zuzuschreiben ist, spezifischen Ausnahmeprozeß angezeigt (Schritt STP 12), und es wird mit der Ausführung des Dienstprogramms begonnen (Schritt STP 13). Nach dem Ende der Ausführung des Dienstprogramms kehrt die CPU 1 vermittels der Wiederherstellung der Statusse zum Hauptfluß zurück (Schritt STP 14).
  • Anhand der Fig. 3 wird nun der Betrieb in dem Fall beschrieben, daß der der DMAC 2 zuzuschreibende Busfehler als einer der Interruptfaktoren behandelt wird.
  • Es wird zum Beispiel angenommen, daß der dem Interruptsignal INTi entsprechende Interruptfaktor der der DMAC 2 zuzuschreibende Busfehler ist. In diesem Fall stellt, wenn mit dem Interruptsignal INTi ein Interrupt angefordert wird (Schritt STP 20), die Interruptsteuerung 8 mittels des logischen Gatters 21 fest, ob ein Interruptfreigabebit für das Interruptsignal INTi gesetzt ist oder nicht (Schritt STP 21). Wenn der Interrupt freigegeben ist, führt die Interruptsteuerung 8 die entsprechende Interruptanforderung zu der Prioritätsebenen-Zuordnungsschaltung 22. Wenn dabei gleichzeitig eine andere Interruptanforderung ausgegeben wird, teilt die Prioritätsebenen-Zuteilungsschaltung 22 die Interruptanforderungen gemäß den vorgegebenen Prioritätsebenen so zu und steuert sie so, daß die Anforderung mit der relativ höchsten Priorität angenommen wird (Schritt STP 22). Wenn daher gleichzeitig ein anderer Interrupt angefordert wird, dessen Prioritätsebene höher liegt als die des Interruptsignals INTi, wird die Interruptanforderung für die Verarbeitung des der DMAC 2 zuzuschreibenden Busfehlers nicht angenommen.
  • Wenn das Interruptsignal INTi durch die Prioritätsebenen-Zuteilungsschaltung 22 gelaufen ist, wird die Interruptanforderung zu der Vergleichs- und Beurteilungseinrichtung 23 in der CPU 1 geführt, die feststellt, ob sie durch das Interruptmaskenbit des Statusregisters 20 maskiert wird (Schritt STP 23). Wenn festgestellt wird, daß die Interruptanforderung maskiert wird, das heißt wenn bereits ein anderer Interrupt oder dergleichen mit einer höheren Prioritätsebene als das Interruptsignal INTi angenommen wurde, wird die Interruptanforderung für die Behandlung des der DMAC 2 zuzuschreibenden Busfehlers nicht angenommen.
  • Wenn das Beurteilungsergebnis des Schrittes STP 23 anzeigt, daß kein dem Interruptsignal INTi entsprechendes Interruptmaskenbit gesetzt ist, wird die gegenwärtige Interruptanforderung zu der Ausführungseinheit 24 der CPU 1 geführt, wodurch die Interruptanforderung für den der DMAC 2 zuzuschreibenden Busfehlerprozeß von der CPU 1 zum ersten Mal angenommen wird (Schritt STP 24).
  • Nach der Annahme der Interruptanforderung unterbricht die CPU 1 die Ausführung des Hauptflusses und speichert den Status des Programmzählers und den des Statusregisters 20 (Schritt STP 25). Danach ändert sie die Interruptmaskenbits des Statusregisters 20 und stellt sie so ein, daß keine neuen Interruptanforderungen mit Prioritätsebenen unter der der gegenwärtigen Interruptanforderung angenommen werden (Schritt STP 26). Dann zeigt sie die Startadresse des Dienstprogrammes an, das der angenommenen Interruptanforderung entspricht (Schritt STP 27) und führt das Programm aus, um den Interruptprozeß für den Busfehler der DMAC 2 zu starten (Schritt STP 28). Nach dem Ende des Ausführung des Dienstprogramms kehrt die CPU 1 vermittels Wiederherstellung der Statusse zum Hauptfluß zurück (Schritt STP 29).
  • Zusätzlich werden, wenn der der Interruptfaktor, der dem sogenannten nicht maskierbaren Interruptsignal NMI1 entspricht, der der DMAC 2 zuzuschreibenden Busfehler ist, die Feststellung des Freigabebits im Schritt STP 21 der Fig. 3 und die Zuteilung auf der Basis der Prioritätsebenen im Schritt STP 22 nicht ausgeführt, sondern es erfolgt direkt die Prüfung des Interruptmaskenbits durch die Vergleichs- und Beurteilungseinrichtung 23 (Schritt STP 23). Gleichermaßen unterliegen die Interruptanforderungen auf der Basis anderer Interruptsignale, sogar nicht maskierbare Interruptanforderungen auf der Basis des Interruptsignals NMI1, einem Prozeß zum Ändern und Einstellen der Interruptmaskenbits ähnlich wie oben (Schritt STP 26) nach dem Schritt des Speicherns der Statusse (Schritt STP 25). Entsprechend wird, auch wenn zum Beispiel eine Interruptanforderung auf der Basis des Interruptsignals NMI1 gemäß einem Busfehler der DMAC 2 während eines Interruptprozesses auf der Basis des Interruptsignals NMI2 erfolgt, dieser aufgrund der Prüfung der Interruptmaskenebene nicht angenommen.
  • Mit der vorliegenden Erfindung lassen sich die folgenden Effekte erhalten.
  • (1) Der einer DMAC 2 zuschreibbare Busfehler wird als der Faktor eines Ausnahmeprozesses eingestellt, der für eine CPU 1 spezifisch ist, und der Anforderung für den Busfehler- Ausnahmeprozeß wird eine Prioritätsebene zugewiesen, die höher ist als die einer anderen Interruptanforderung. Bei der Ausnahmeprozeßanforderung wird kein Prozeß für die Überprüfung der Interruptmaskenbits ausgeführt, und es wird auch kein Prozeß zum Ändern der Einstellung der Interruptmaskenbits für die Interruptanforderung ausgeführt, und nachdem die Statusse gespeichert wurden, wird sofort ein dem Ausnahmeprozeß entsprechendes Dienstprogramm ausgeführt. Das heißt, daß, wenn die Ausnahmeprozeßanforderung für den Busfehler der DMAC 2 durch das Busfehlerprozeßanforderungssignal BETREQ an die CPU 1 gegeben wird, die CPU 1 die Ausnahmeprozeßanforderung direkt aufnimmt, ohne Prozesse für die Feststellung eines Freigabebits (Schritt STP 21), das Zuteilen von Interruptanforderungen auf der Basis der Interruptprioritätsebenen (Schritt STP 22) und das Prüfen einer Interruptmaskenebene (Schritt STP 23) wie im Falle eines Prozesses auf der Basis des in der Fig. 3 gezeigten Interrupts auszuführen, und nach dem Speichern der Statusse führt sie sofort das Dienstprogramm aus, ohne eine Änderung der Einstellung der Interruptmaskenbits durchzuführen (Schritt STP 26). Entsprechend wird, auch wenn der Busfehler-Ausnahmeprozeß für die DMAC 2 während der Ausführung eines anderen Ausnahmeprozesses oder der Ausführung eines Interruptprozesses durch die CPU 1 angefordert wird, die Anforderung für den Busfehler-Ausnahmeprozeß nicht durch den bereits ausgeführten Interruptprozeß oder den anderen Ausnahmeprozeß unterdrückt und zurückgewiesen, so daß die Ausführung des Ausnahmeprozesses für den Busfehler der DMAC 2 bevorzugt gestartet werden kann.
  • (2) Aufgrund dieses Effekts kann die Zeitspanne von der Anforderung für den Busfehler-Ausnahmeprozeß der DMAC 2 bis zum Start der Ausführung des Dienstprogramms gegenüber dem Fall verkürzt werden, bei dem der Busfehler durch einen Interruptprozeßß verarbeitet wird.
  • (3) Aufgrund dieses Effekts kann, wenn die Datentransferoperation durch die DMAC 2 für den Betrieb des Systems so wichtig ist wie der Buszyklus der CPU 1, die Zuverlässigkeit des Systems dadurch erhöht werden, daß der Busfehler der DMAC 2 ähnlich wie der Busfehler der CPU 1 durch den Ausnahmeprozeß verarbeitet wird.
  • (4) Bei der Verarbeitung eines Busfehlers der DMAC 2, der auftritt, wenn die CPU 1 die Bussteuerung im Verlauf der Ausführung einer Anweisung zu der DMAC 2 übertragen hat, nimmt die CPU 1 die Bussteuerung nach dem Auftreten des Busfehlers der DMAC 2 wieder zurück und führt den Restprozeß der Anweisung aus, woraufhin sie die Ausnahmeprozeßanforderung annimmt, so daß ein von der CPU 1 bereits halb ausgeführter Prozeß nicht verlorengeht.
  • (5) Da die CPU 1 und die DMAC 2 auf dem gleichen Halbleitersubstrat ausgebildet sind und die für den Busfehler der DMAC 2 spezifische Ausnahmeprozeßanforderung durch eine bestimmte Signalleitung zu einem eigenen Anschluß der CPU 1 geführt wird, der der gegenwärtigen Anforderung zugeordnet ist, braucht die CPU 1 die Ausnahmeprozeßanforderung nicht zu analysieren, so daß es möglich ist, die Zeitspanne, die verstreicht, bis das Dienstprogramm für den Ausnahmeprozeß für den Busfehler der DMAC 2 ausgeführt wird, weiter verkürzt werden kann.
  • Auch wenn oben die Erfindung der Erfinder in Verbindung mit einer Ausführungsform konkret beschrieben wurde, erübrigt es sich zu bemerken, daß die vorliegende Erfindung nicht auf die vorstehende Ausführungsform beschränkt ist, sondern daß sie innerhalb eines nicht vom Zweck davon abweichenden Umfangs verschieden modifiziert werden kann.
  • Zum Beispiel wurde bei der Ausführungsform beschrieben, daß das von der CPU verschiedene Bussteuermodul ein DMAC ist, es ist jedoch auch ein von der DMAC verschiedenes Bussteuermodul möglich, um die CPU direkt mit der Ausnahmeprozeßanforderung für einen Busfehler zu versorgen. Im übrigen ist die DMAC nicht auf einen einzigen Kanal beschränkt, sondern kann eine Anzahl von Kanälen umfassen.
  • Bei der Ausführungsform wurde auch ein Busfehler beschrieben, bei dem als Beispiel eine Adresse genannt ist, unter der keine periphere Schaltung zu finden ist. Der Busfehler ist jedoch nicht darauf beschränkt, sondern es können durch die Ausnahmeprozesse verschiedene Fehler des Buszyklussystems bearbeitet werden, wie etwa ein Fehler, bei dem im Benutzerstatus auf eine periphere Schaltung oder einen Speicherbereich zugegriffen wird, während diesen der Supervisorstatus zugeordnet ist. Auch ist das System zum Erfassen des Busfehlers nicht auf das der Ausführungsform beschränkt, sondern kann geeignet entsprechend den Arten der Busfehler abgeändert werden.
  • Das System zu Aufzeigen der Startadresse des Dienstprogramms für den Ausnahmeprozeß kann ein indirektes Vektorbezeichnungssystem sein, bei dem eine Vektortabelle verwendet wird, oder ein System, bei dem das Bussteuermodul wie die DMAC einen Vektor direkt an die CPU gibt, und so weiter.
  • Oben wurde die Erfindung kurz für den Fall der Anwendung auf eine Busfehlerbehandlung in einem Ein-Chip-Mikrocomputer mit einer eingebauten DMAC als Hintergrund für die Anwendung davon beschrieben. Die vorliegende Erfindung ist jedoch nicht auf diese Anwendung beschränkt, sondern kann auch bei einem System angewendet werden, bei dem die Bussteuermodule wie die CPU und die DMAC auf separaten Chips ausgebildet sind und dergleichen. Die vorliegende Erfindung ist auf Einrichtungen anwendbar, von denen jede zumindest die Fähigkeit zur Behandlung eines Busfehlers besitzt, der einem Bussteuermodul zuzuschreiben ist, das keine CPU ist.

Claims (8)

1. Datenverarbeitungseinheit mit einem Bus (ABUS, DBUS), einer Zentraleinheit (1) und einem Bussteuermodul (2),
dadurch gekennzeichnet, daß
das Bussteuermodul (2) derart ausgebildet ist, daß bei Erhalt eines Busfehler-Erfassungssignals (BERRdmac) während einer Bussteuerung durch das Bussteuermodul (2) ein Ausnahmeprozeß-Anforderungssignal (BETREQ) direkt an die Zentraleinheit (1) abgegeben und die Bussteuerung freigegeben wird;
die Zentraleinheit (1) zur Aufnahme des Ausnahmeprozeß-Anforderungssignals (BETREQ) vom Bussteuermodul (2) einen besonderen Eingang besitzt und derart ausgestattet ist, daß, nachdem die Zentraleinheit (1) die Bussteuerung aufgrund der Freigabe durch das Bussteuermodul (2) übernommen hat, ein Ausnahmeprozeßprogramm gemäß dem Ausnahmeprozeß-Anforderungssignal (BETREQ) ohne Beurteilung von Interrupt-Maskenbits nach Empfang der Ausnahmeprozeß-Anforderungssignale (BETREQ) durch den besonderen Eingang ausgeführt wird; und daß
eine Interruptsteuerung (8) an die Zentraleinheit (1) gekoppelt ist, wobei die Interruptsteuerung (8) eine Anzahl von Eingängen zur Aufnahme einer Anzahl von Interrupt-Anforderungssignalen (INT1-NMI2) besitzt;
wobei die Zentraleinheit (1) ein Statusregister (20) aufweist, das Interrupt-Maskenbits zur Speicherung von Maskeninformationen enthält, die die Prioritätsebene einer Interruptanforderung angeben, die die Zentraleinheit (1) bei Empfang eines der Interrupt-Anforderungssignale auszuführen hat, und wobei die Zentraleinheit (1) bei Annahme der Interruptanforderung die Interrupt-Maskenbits setzt, um ein Interrupt-Prozeßprogramm auszuführen und um das Ausnahmeprozeßprogramm auszuführen, ohne Interrupt-Maskenbits zu setzen.
2. Datenverarbeitungseinheit nach Anspruch 1, bei der die Zentraleinheit (1) derart ausgestattet ist, daß der verbleibende Teil eines Befehlsprozesses ausgeführt wird, bevor die Zentraleinheit (1) das Ausnahmeprozeßprogramm ausführt, wenn die Zentraleinheit (1) die Bussteuerung während der Befehlsausführung aufgegeben hat.
3. Datenverarbeitungseinheit nach Anspruch 1 oder 2, bei der die Zentraleinheit (1) und das Bussteuermodul (2) auf einem einzigen Halbleiterchip ausgebildet sind.
4. Datenverarbeitungseinheit nach Anspruch 1, mit einem an die Zentraleinheit (1) und das Bussteuermodul (2) gekoppelten Bus-Zuteiler (3), der die Bussteuerung zwischen der Zentraleinheit (1) und dem Bussteuermodul (2) aufteilt und der ein Bus-Quittungssignal (BACKdmac) an das Bussteuermodul (2) abgibt, um dem Bussteuermodul (2) die Bussteuerung zu übergeben;
wobei die Einheit derart ausgestattet ist, daß das Busfehler-Erfassungssignal (BERRdmac) nur dann dem Bussteuermodul (2) zugeführt wird, wenn der Bus-Zuteiler (3) das Bus- Quittungssignal (BACKdmac) dem Bussteuermodul (2) zuleitet.
5. Datenverarbeitungseinheit nach Anspruch 4, bei der die Zentraleinheit (1), das Bussteuermodul (2) und der Bus- Zuteiler (3) auf einem einzigen Halbleiterchip ausgebildet sind.
6. Datenverarbeitungseinheit nach Anspruch 5, bei der die Zentraleinheit (1) einen weiteren Eingang zur Aufnahme eines Busfehler-Erfassungssignals (BERRcpu) besitzt und derart ausgestaltet ist, daß ein Ausnahmeprozeßprogramm gemäß dem Busfehler-Erfassungssignal (BERRcpu) ausgeführt wird.
7. Datenverarbeitungseinheit nach Anspruch 1, bei der das weitere Busfehler-Erfassungssignal (BERRcpu) nur dann der Zentraleinheit (1) zugeführt wird, wenn der Bus-Zuteiler (3) der Zentraleinheit (1) ein Bus-Quittungssignal (BACKcpu) zuleitet.
8. Datenverarbeitungseinheit nach einem der vorangehenden Ansprüche, bei der bei der Beurteilung der Interrupt-Maskenbits diese Bits auf die Annahme der Interrupt- Aufforderung hin gesetzt werden, wobei das Ausnahmeprozeßprogramm gemäß einem Busfehler-Erfassungssignal ohne Setzen der Interrupt-Maskenbits ausgeführt wird.
DE3856342T 1987-08-25 1988-08-17 Busfehlerverarbeitungssystem Expired - Fee Related DE3856342T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP21118687 1987-08-25
JP63161884A JP2965074B2 (ja) 1987-08-25 1988-06-29 マイクロコンピュータ

Publications (2)

Publication Number Publication Date
DE3856342D1 DE3856342D1 (de) 1999-07-15
DE3856342T2 true DE3856342T2 (de) 2000-02-03

Family

ID=26487840

Family Applications (2)

Application Number Title Priority Date Filing Date
DE3856342T Expired - Fee Related DE3856342T2 (de) 1987-08-25 1988-08-17 Busfehlerverarbeitungssystem
DE3853324T Expired - Fee Related DE3853324T2 (de) 1987-08-25 1988-08-17 Busfehlerverarbeitungssystem.

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE3853324T Expired - Fee Related DE3853324T2 (de) 1987-08-25 1988-08-17 Busfehlerverarbeitungssystem.

Country Status (6)

Country Link
US (1) US5375211A (de)
EP (2) EP0305106B1 (de)
JP (1) JP2965074B2 (de)
KR (1) KR960006500B1 (de)
DE (2) DE3856342T2 (de)
HK (1) HK27796A (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10244978A1 (de) * 2002-09-26 2004-04-15 Siemens Ag Verfahren und System zur Synchronisation von Zeitgebern für die Gesprächszeitmessung

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5790892A (en) * 1995-09-29 1998-08-04 International Business Machines Corporation Information handling system for modifying coherency response set to allow intervention of a read command so that the intervention is not allowed by the system memory
US5790814A (en) * 1996-01-23 1998-08-04 Dell U.S.A., L.P. Technique for supporting semi-compliant PCI devices behind a PCI-to-PCI bridge
US5898877A (en) * 1996-02-29 1999-04-27 Sanyo Electric Co., Ltd. Processor using special instruction set to enhance exception handling
US6332181B1 (en) * 1998-05-04 2001-12-18 International Business Machines Corporation Recovery mechanism for L1 data cache parity errors
US6526514B1 (en) * 1999-10-11 2003-02-25 Ati International Srl Method and apparatus for power management interrupt processing in a computing system
JP2006155488A (ja) * 2004-12-01 2006-06-15 Sony Corp データ処理装置およびデータ処理方法
KR100633773B1 (ko) * 2005-07-01 2006-10-13 삼성전자주식회사 버스 시스템 및 버스 중재 방법
CN110083473B (zh) * 2019-04-16 2023-01-10 芯来智融半导体科技(上海)有限公司 基于risc-v架构总线访问错误的改进系统及方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5471954A (en) * 1977-11-21 1979-06-08 Hitachi Ltd Detection system for malfunction position of common bus circuit
JPS59195736A (ja) * 1983-04-22 1984-11-06 Nippon Telegr & Teleph Corp <Ntt> 通信制御装置
JPS59198824A (ja) * 1983-04-22 1984-11-10 株式会社フジクラ トラフ内布設の油入りケ−ブル線路
JPS60183657A (ja) * 1984-03-02 1985-09-19 Ricoh Co Ltd 共通バス障害検知方式
US4727477A (en) * 1985-03-22 1988-02-23 International Business Machines Corp. Logically transportable microprocessor interface control unit permitting bus transfers with different but compatible other microprocessors

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10244978A1 (de) * 2002-09-26 2004-04-15 Siemens Ag Verfahren und System zur Synchronisation von Zeitgebern für die Gesprächszeitmessung
DE10244978B4 (de) * 2002-09-26 2007-05-03 Siemens Ag Verfahren und System zur Synchronisation von Zeitgebern für die Gesprächszeitmessung

Also Published As

Publication number Publication date
EP0598704A2 (de) 1994-05-25
EP0598704B1 (de) 1999-06-09
DE3853324D1 (de) 1995-04-20
KR960006500B1 (ko) 1996-05-16
KR890004237A (ko) 1989-04-20
JPH01131943A (ja) 1989-05-24
EP0305106A2 (de) 1989-03-01
US5375211A (en) 1994-12-20
EP0305106A3 (en) 1990-03-14
EP0598704A3 (de) 1995-07-12
HK27796A (en) 1996-02-23
JP2965074B2 (ja) 1999-10-18
DE3856342D1 (de) 1999-07-15
DE3853324T2 (de) 1995-10-19
EP0305106B1 (de) 1995-03-15

Similar Documents

Publication Publication Date Title
EP1097460B1 (de) Integrierte schaltung mit einer selbsttesteinrichtung zur durchführung eines selbsttests der integrierten schaltung
DE3783370T2 (de) Schaltung zur blockierungsverhinderung von hochprioritaetsanforderungen an eine systemsteuerung.
DE69906156T2 (de) Mikroprozessorvorrichtung mit programmierbaren wartezuständen
DE3687947T2 (de) Schnittstelle und Verfahren für Buszugriff in einem Rechner.
DE68922261T2 (de) Verfahren und Vorrichtung für die Datenübertragung zwischen mehreren Aufgaben in Datenverarbeitungssystemen.
DE3876780T2 (de) Mikrorechner mit eingebauter chipauswahl und programmierbarer busdehnung.
DE69423928T2 (de) Dynamisch programmierbarer Busarbiter mit Einrichtung zur historischen Rückmeldung
DE3851554T2 (de) Steuerungsanordnung für gemeinschaftlichen Speicher.
DE3853759T2 (de) Datenprozessor mit zwei Betriebsmoden.
DE69114321T2 (de) Zum Durchführen der Unterbrechungsverschachtelungsfunktion geeignetes Unterbrechungssteuerungsgerät.
DE112006003358B4 (de) Verteilung von Speicherzugriffsanforderungen
DE69026479T2 (de) Datenprozessor mit Wartezustandsteuerungseinheit
DE2611907A1 (de) Dv-system mit einer prioritaets- unterbrechungs-anordnung
DE2523372B2 (de) Eingabe-ZAusgabe-Anschlußsteuereinrichtung
DE4035837A1 (de) Bus-hauptschnittstellenschaltung mit transparenter unterbrechung einer datenuebertragungsoperation
DE2054830C3 (de) Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge
DE3688400T2 (de) Cachespeicherschaltung geeignet zur verarbeitung einer leseanforderung waehrend der uebertragung eines datenblocks.
DE60036923T2 (de) Dram-auffrischungsüberwachung und taktgenaue verteilte busarbitrierung in einer multiprozessorumgebung
DE69122142T2 (de) Steuerungsanlage für ein Mehrprozessorsystem
DE3856342T2 (de) Busfehlerverarbeitungssystem
DE2164793A1 (de) Verfahren und Datenverarbeitungsanlage zur Steuerung einer Vielzahl von Eingabe/ Ausgabe-Einheiten mittels eine Zentraleinheit
DE69622785T2 (de) Prozessorunterbrechungssteuerung
DE3750045T2 (de) Unterbrechungssteuerungsvorrichtung für eine virtuelle Maschine mit einer Vielzahl von Verarbeitungseinheiten.
DE2611975A1 (de) Dv-system mit einer einrichtung zur zuordnung von prozessen zu einem prozessor auf einer prioritaetsbasis
DE69017367T2 (de) Schaltung zur Prüfbarkeit.

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee