PatentDe  


Dokumentenidentifikation DE03012184T1 30.09.2004
EP-Veröffentlichungsnummer 0001369787
Titel Prozessor, Informationsverarbeitungsgerät, Kompiliervorrichtung, und Kompilierverfahren mittels dieses Prozessors
Anmelder Matsushita Electric Industrial Co., Ltd., Kadoma, Osaka, JP
Erfinder Fuchikami, Ryuji, Fukuoka-Ken, Kasuya-Gun, JP;
Yonezawa, Tomonori, Fukuoka-Shi, 812-0016 Fukuo, JP;
Ohtsuki, Hiroki, 350-0314, JP;
Tanaka, Yoshiteru, 811-2304, JP
Vertreter PRÜFER & PARTNER GbR, 81545 München
Vertragsstaaten AT, BE, BG, CH, CY, CZ, DE, DK, EE, ES, FI, FR, GB, GR, HU, IE, IT, LI, LU, MC, NL, PT, RO, SE, SI
Sprache des Dokument EN
EP-Anmeldetag 04.06.2003
EP-Aktenzeichen 030121842
EP-Offenlegungsdatum 10.12.2003
Veröffentlichungstag der Übersetzung europäischer Ansprüche 30.09.2004
Veröffentlichungstag im Patentblatt 30.09.2004
IPC-Hauptklasse G06F 11/36


Anspruch[de]
  1. Prozessor mit

    einer Befehlsverarbeitungseinheit (1), die so betreibbar ist, dass sie ein Programm in einer Speichereinheit (30) liest, um das Programm in der Speichereinheit (30) abzuarbeiten;

    einem Adressregister (3), das so betreibbar ist, dass es von der Befehlsverarbeitungseinheit (1) gelesen und geschrieben wird und dass es die absolute Adresse eines Zeigers in dem Programm speichert;

    einem Bereichsinformationsregister (4), das so betreibbar ist, dass es von der Befehlsverarbeitungseinheit (1) gelesen und geschrieben wird und dass es den Zeiger betreffende Bereichsinformationen unter Verwendung der absoluten Adresse speichert; und

    einer Ausnahme-Erzeugungseinheit (7), die so betreibbar ist, dass sie das Ausgangssignal der Befehlsverarbeitungseinheit (1) und die Bereichsinformationen in das Bereichsinformationsregister (4) eingibt und ein Ausnahmesignal an die Befehlsverarbeitungseinheit (1) ausgibt, wenn die Befehlsverarbeitungseinheit (1) im Falle einer Bereichsverletzung der Speichereinheit (30) unter Verwendung des das Adressregister betreffenden Zeigers auf die Speichereinheit (30) zugreift.
  2. Prozessor mit

    einer Befehlsverarbeitungseinheit (1), die so betreibbar ist, dass sie ein Programm in einer Speichereinheit (30) liest, um das Programm in der Speichereinheit (30) abzuarbeiten;

    einem Programmschrittzähler (5), der so betreibbar ist, dass er von der Befehlsverarbeitungseinheit (1) gelesen und geschrieben wird und dass er einen Ausführungsadresswert des Programms speichert;

    einem Bereichsinformationsregister (4), das so betreibbar ist, dass es von der Befehlsverarbeitungseinheit (1) gelesen und geschrieben wird und dass es Bereichsinformationen speichert, die den Ausführungsadresswert des Programms betreffen; und

    einer Ausnahme-Erzeugungseinheit (7), die so betreibbar ist, dass sie diesen neuen Ausführungsadresswert und die Bereichsinformationen in das Bereichsinformationsregister (4) eingibt, wenn die Befehlsverarbeitungseinheit (1) einen neuen Ausführungsadresswert speichert, und dass sie im Falle einer Bereichsverletzung ein Ausnahmesignal an die Befehlsverarbeitungseinheit (1) ausgibt.
  3. Prozessor mit

    einer Befehlsverarbeitungseinheit (1), die so betreibbar ist, dass sie ein Programm in einer Speichereinheit (30) liest, um das Programm in der Speichereinheit (30) abzuarbeiten;

    einem Adressregister (3), das so betreibbar ist, dass es von der Befehlsverarbeitungseinheit (1) gelesen und geschrieben wird und dass es die absolute Adresse eines Zeigers in dem Programm speichert;

    einem ersten Bereichsinformationsregister (4), das so betreibbar ist, dass es von der Befehlsverarbeitungseinheit (1) gelesen und geschrieben wird und dass es den Zeiger betreffende Bereichsinformationen unter Verwendung der absoluten Adresse speichert;

    einer ersten Ausnahme-Erzeugungseinheit (7), die so betreibbar ist, dass sie das Ausgangssignal der Befehlsverarbeitungseinheit (1) und die Bereichsinformationen in das erste Bereichsinformationsregister (4) eingibt, wenn die Befehlsverarbeitungseinheit (1) auf die Speichereinheit (30) zugreift, und dass sie im Falle einer Bereichsverletzung der Speichereinheit (30) ein erstes Ausnahmesignal an die Befehlsverarbeitungseinheit (1) ausgibt;

    einem Programmschrittzähler (5), der so betreibbar ist, dass er von der Befehlsverarbeitungseinheit (1) gelesen und geschrieben wird und dass er einen Ausführungsadresswert des Programms speichert;

    einem zweiten Bereichsinformationsregister (8), das so betreibbar ist, dass es von der Befehlsverarbeitungseinheit (1) gelesen und geschrieben wird und dass es Bereichsinformationen speichert, die den Ausführungsadresswert des Programms betreffen; und

    einer zweiten Ausnahme-Erzeugungseinheit (8), die so betreibbar ist, dass sie diesen neuen Ausführungsadresswert und die Bereichsinformationen in das zweite Bereichsinformationsregister (6) eingibt, wenn die Befehlsverarbeitungseinheit (1) einen neuen Ausführungsadresswert in dem Programmschrittzähler (5) speichert, und dass sie im Falle einer Bereichsverletzung ein zweites Ausnahmesignal an die Befehlsverarbeitungseinheit (1) ausgibt.
  4. Prozessor nach Anspruch 3, dadurch gekennzeichnet, dass sich das Adressregister (3), das erste Bereichsinformationsregister (4), der Programmschrittzähler (5) und das zweite Bereichsinformationsregister (6) alle aus Universalregistern zusammensetzen.
  5. Prozessor nach Anspruch 1, dadurch gekennzeichnet, dass die Bereichsinformationen einen oberen Grenzwert des Bereichs und einen unteren Grenzwert des Bereichs aufweisen.
  6. Prozessor nach Anspruch 1, dadurch gekennzeichnet, dass die Bereichsinformationen einen unteren Grenzwert des Bereichs und die Länge von dem unteren Grenzwert bis zu einem oberen Grenzwert des Bereichs aufweisen.
  7. Prozessor nach Anspruch 1, dadurch gekennzeichnet, dass die Bereichsinformationen ein Attribut aufweisen, das das Aktivieren/Deaktivieren des Lesens und Schreibens anzeigt.
  8. Prozessor nach Anspruch 1, dadurch gekennzeichnet, dass die Bereichsinformationen einen oberen Grenzwert des Bereichs, aber keinen unteren Grenzwert des Bereichs aufweisen.
  9. Prozessor nach Anspruch 1, dadurch gekennzeichnet, dass die Befehlsverarbeitungseinheit (1) in einem einzigen Maschinensprachenbefehl einen Prozess des Speicherns der absoluten Adresse eines Zeigers eines Programms in dem Adressregister (3) und einen Prozess des Speicherns der Bereichsinformationen dieses Zeigers in dem Bereichsinformationsregister (4) ausführt.
  10. Prozessor nach Anspruch 2, dadurch gekennzeichnet, dass die Befehlsverarbeitungseinheit (1) in einem einzigen Maschinensprachenbefehl einen Prozess des Speicherns eines neuen Ausführungsadresswerts in dem Programmschrittzähler (5) und einen Prozess des Speicherns der Bereichsinformationen des Ausführungsadresswerts in dem Bereichsinformationsregister (4) ausführt.
  11. Kompiliervorrichtung, die Ausführungscodes aus Quellcodes erzeugt, die in einer Programmiersprache geschrieben sind, die eine direkte Manipulation von Zeigern ermöglicht, wobei die Kompiliervorrichtung Folgendes aufweist:

    einen Speicher (50), der so betreibbar ist, dass er Variablenbereiche speichert;

    eine Quellenanalysiereinheit (53), die so betreibbar ist, dass sie die Quellcodes analysiert, um die Übertragungsziele von Codes entsprechend einer Sprungbedingung zu bestimmen;

    eine Variablencodezuweisungseinheit (54), die, wenn die Quellenanalysiereinheit (53) einen Variablenvereinbarungscode identifiziert, so betreibbar ist, dass sie den Variablenvereinbarungscode, der dem Variablenvereinbarungscode zugewiesen werden soll, empfängt und die Variablenadresse und den Variablenbereich in dem Speicher (50) speichert;

    eine Zeiger-mit-Bereich-Erzeugungseinheit (56), die, wenn die Quellenanalysiereinheit ( 53) einen Code identifiziert, der einen Zeiger aus einer Variablen erzeugt, so betreibbar ist, dass sie diesen Code empfängt und den für die Variable zugewiesenen Bereich aus dem Speicher (50) liest, um einen Code zu erzeugen, der eine Zeigervariable mit Bereich erzeugt;

    eine Direktwertzeiger-Erzeugungseinheit (58), die, wenn die Quellenanalysiereinheit (53) einen Code identifiziert, der einen Zeiger aus einem Direktwert erzeugt, so betreibbar ist, dass sie einen Code erzeugt, der eine Zeigervariable mit einem Begrenzer erzeugt, dessen Grenzbereich unter Verwendung eines Sollwerts oder der gesamten Adresse definiert wird;

    eine Zeigeroperationscode-Erzeugungseinheit (55), die, wenn die Quellenanalysiereinheit (53) eine Zeigeroperation identifiziert, so betreibbar ist, dass sie einen Code erzeugt, der eine Zeigeroperation ausführt, die den Adressbereich vererbt; und

    eine sprachgestützte Ausführungscode-Erzeugungseinheit (57), die, wenn die Quellenanalysiereinheit (53) einen Code als nicht auf eine Sprungbedingung anwendbar einschätzt, so betreibbar ist, dass sie den Code empfängt und eine Code-Erzeugung entsprechend der Syntax der Programmiersprache durchführt.
  12. Kompiliervorrichtung, die Ausführungscodes aus Quellcodes erzeugt, die in einer Programmiersprache geschrieben sind, die eine direkte Manipulation von Zeigern gestattet, wobei die Kompiliervorrichtung Folgendes aufweist:

    einen Funktionscodebereichsspeicher (79), der so betreibbar ist, dass er Funktionscodebereiche speichert;

    einen Ausführungscodespeicher (78), der so betreibbar ist, dass er Ausführungscodes speichert;

    eine Quellenanalysiereinheit (73), die so betreibbar ist, dass sie den Quellcode analysiert, um die Übertragungsziele der Quellcodes entsprechend einer Sprungbedingung zu bestimmen;

    eine Funktionscodebereichs-Analysiereinheit (74), die, wenn die Quellenanalysiereinheit (73) einen Funktionsvereinbarungs-Beendigungscode identifiziert, so betreibbar ist, dass sie den Bereich des Funktionscodes in dem Ausführungscodespeicher (78) analysiert, um den Funktionscodebereich in dem Funktionscodebereichsspeicher (79) zu speichern;

    Sprungbefehl-mit-Codebereich-Erzeugungseinheit (75), die, wenn die Quellenanalysiereinheit (73) einen Funktionsaufrufcode identifiziert, so betreibbar ist, dass sie diesen Code empfängt, um einen Sprungbefehl mit Codebereich zu erzeugen;

    eine Funktionszeiger-mit-Bereich-Erzeugungseinheit (76), die, wenn die Quellenanalysiereinheit (73) einen Code identifiziert, der einen Funktionszeiger erzeugt, so betreibbar ist, dass sie den Code empfängt, um eine Funktionszeigervariable mit Codebereich zu erzeugen;

    eine sprachgestützte Ausführungscode-Erzeugungseinheit (77), die, wenn die Quellenanalysiereinheit (73) einen Code als nicht auf eine Sprungbedingung anwendbar einschätzt, so betreibbar ist, dass sie den Code empfängt, um eine Code-Erzeugung entsprechend der Syntax der Sprache durchzuführen; und

    eine Funktionsbereichs-Einbettungseinheit (80), die so betreibbar ist, dass sie die Codes aus dem Ausführungscodespeicher (78) holt und die aus dem Funktionscodebereichsspeicher (79) gelesenen Werte in den Funktionszeiger einbettet.
  13. Kompiliervorrichtung nach Anspruch 11, dadurch gekennzeichnet, dass der Bereich durch einen oberen Grenzwert und einen unteren Grenzwert definiert ist.
  14. Kompiliervorrichtung nach Anspruch 11, dadurch gekennzeichnet, dass der Bereich durch einen unteren Grenzwert und die Länge von dem unteren Grenzwert bis zu einem oberen Grenzwert definiert ist.
  15. Kompiliervorrichtung nach Anspruch 11, dadurch gekennzeichnet, dass der Bereich nur durch einen oberen Grenzwert definiert ist.
  16. Kompilierverfahren zum Erzeugen von Codes aus Quellcodes, die in einer Programmiersprache geschrieben sind, die eine direkte Manipulation von Zeigern gestattet, wobei das Kompilierverfahren Folgendes aufweist:

    Analysieren einer Programmquelle, um zu einem nächsten Prozess in den Variablenbereich entsprechend einer Sprungbedingung zu springen;

    Zuweisen eines Variablenbereichs und Speichern einer Variablenadresse und eines Variablenbereichs in dem Variablenbereich, wenn bei diesem Analysieren einer Programmquelle eine Einheit der Programmquelle als Variablenvereinbarung identifiziert wird;

    Erzeugen eines Codes, der eine Zeigervariable mit einem Bereichsbegrenzer erzeugt, der unter Verwendung eines Sollwerts oder der gesamten Adresse definiert wird, wenn bei diesem Analysieren einer Programmquelle die Erzeugung eines Zeigers aus einer Variablen identifiziert wird;

    Erzeugen einer Zeigervariable mit einem Bereich, der den gesamten Adressbereich verwendet oder Sollwerte verwendet, wenn bei diesem Analysieren einer Programmquelle die Erzeugung eines Zeigers aus einem Direktwert identifiziert wird;

    Erzeugen einer Code-Ausführungs-Zeigeroperation, die den Adressbereich vererbt, wenn bei diesem Analysieren einer Programmquelle eine Zeigeroperation identifiziert wird; und

    Erzeugen eines Codes entsprechend der Syntax der Programmiersprache, wenn bei diesem Analysieren keine solche Sprungbedingung einer Programmquelle anwendbar ist.
  17. Kompilierverfahren zum Erzeugen von Codes aus Quellcodes, die in einer Programmiersprache geschrieben sind, die eine direkte Manipulation von Zeigern gestattet, wobei das Kompilierverfahren Folgendes aufweist:

    Analysieren einer Programmquelle, um zu einem nächsten Prozess in den Variablenbereich entsprechend einer Sprungbedingung zu springen;

    Speichern eines Funktionscodebereichs, wenn bei diesem Analysieren die Beendigung einer Funktionsdefinition einer Programmquelle identifiziert wird;

    Erzeugen eines Sprungbefehls mit Codebereich, wenn bei diesem Analysieren ein Funktionsaufruf einer Programmquelle identifiziert wird;

    Erzeugen eines Funktionszeigers mit Codebereich, wenn bei diesem Analysieren eine Funktionszeigererzeugung einer Programmquelle identifiziert wird;

    Einbetten von Codes, die von dem Sprungbefehl mit Codebereich und dem Funktionszeiger mit Codebereich erzeugt werden, nachdem die Code-Umwandlung für alle Quellcodes durchgeführt worden ist.
  18. Kompilierverfahren zum Erzeugen von Codes aus Quellcodes, die in einer Programmiersprache geschrieben sind, die eine direkte Manipulation von Zeigern gestattet, wobei das Kompilierverfahren Folgendes aufweist:

    Analysieren einer Programmquelle, um zu einem nächsten Prozess in den Variablenbereich entsprechend einer Sprungbedingung zu springen;

    Zuweisen eines Variablenbereichs und Speichern einer Variablenadresse und eines Variablenbereichs in dem Variablenbereich, wenn bei diesem Analysieren einer Programmquelle eine Einheit der Programmquelle als Variablenvereinbarung identifiziert wird;

    Erzeugen eines Codes, der eine Zeigervariable mit einem oberen Bereichsbegrenzer erzeugt, der unter Verwendung eines Sollwerts oder der gesamten Adresse definiert wird, wenn bei diesem Analysieren einer Programmquelle die Erzeugung eines Zeigers aus einer Variablen identifiziert wird;

    Erzeugen einer Zeigervariable mit einem oberen Grenzbereich, der den gesamten Adressbereich verwendet oder Sollwerte verwendet, wenn bei diesem Analysieren einer Programmquelle die Erzeugung eines Zeigers aus einem Direktwert identifiziert wird;

    Erzeugen einer Code-Ausführungs-Zeigeroperation, die den Adressbereich vererbt, wenn bei diesem Analysieren einer Programmquelle eine Zeigeroperation identifiziert wird; und

    Erzeugen eines Codes entsprechend der Syntax der Programmiersprache, wenn bei diesem Analysieren einer Programmquelle keine solche Sprungbedingung anwendbar ist.
  19. Kompilierverfahren nach Anspruch 16, dadurch gekennzeichnet, dass der Bereich durch einen oberen Grenzwert und einen unteren Grenzwert definiert ist.
  20. Kompilierverfahren nach Anspruch 16, dadurch gekennzeichnet, dass der Bereich durch einen unteren Grenzwert und die Länge von dem unteren Grenzwert bis zu einem oberen Grenzwert definiert ist.
  21. Kompilierverfahren nach Anspruch 16, dadurch gekennzeichnet, dass der Bereich nur durch einen oberen Grenzwert definiert ist.
  22. Informationsverarbeitungsvorrichtung mit

    einem Prozessor nach Anspruch 1;

    einer Betriebseinheit, die dem Prozessor Benutzereingaben meldet; und

    einem Anzeigegerät, das von dem Prozessor gesteuert wird und Bilder anzeigt.
Es folgt kein Blatt Zeichnungen






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com