DE102012202174A1 - Mikrocomputer - Google Patents

Mikrocomputer Download PDF

Info

Publication number
DE102012202174A1
DE102012202174A1 DE201210202174 DE102012202174A DE102012202174A1 DE 102012202174 A1 DE102012202174 A1 DE 102012202174A1 DE 201210202174 DE201210202174 DE 201210202174 DE 102012202174 A DE102012202174 A DE 102012202174A DE 102012202174 A1 DE102012202174 A1 DE 102012202174A1
Authority
DE
Germany
Prior art keywords
data
control section
communication module
buffer
read
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.)
Withdrawn
Application number
DE201210202174
Other languages
English (en)
Inventor
Hirofumi Yamamoto
Yuki Horii
Takashi Abe
Shinichirou Taguchi
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.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Publication of DE102012202174A1 publication Critical patent/DE102012202174A1/de
Withdrawn legal-status Critical Current

Links

Images

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
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • 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
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • G06F13/26Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
    • 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
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/32Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer
    • 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
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/065Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2205/00Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F2205/06Indexing scheme relating to groups G06F5/06 - G06F5/16
    • G06F2205/065With bypass possibility

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Microcomputers (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)
  • Multi Processors (AREA)

Abstract

Zwischen einer CPU (2) und einem Kommunikationsmodul (3) sind ein Schreibpuffer (8), ein Lesesteuerabschnitt (8a), ein Lesepuffer (9) und ein Lesesteuerabschnitt (11) vorgesehen. Die CPU (2) greift direkt auf den Schreibpuffer (8) und den Lesepuffer (9) zu. Durch periodisches Ausgeben einer Kommunikationsanforderung liest der Lesesteuerabschnitt (11) Daten, die das Kommunikationsmodul (3) von anderen Knoten (12, 13) empfängt, aus und überträgt die Daten an den Lesepuffer (9). Der Schreibsteuerabschnitt (8a) überträgt die Daten, die in den Schreibpuffer (8) geschrieben werden, als Übertragungsdaten an das Kommunikationsmodul (3). Außerdem sind ein Umgehungszugriffssteuerabschnitt (7) und ein Zugriffsfolgensteuerabschnitt (10) vorgesehen. Der Umgehungszugriffssteuerabschnitt (7) steuert ein direktes Lesen von Daten und direktes Schreiben von Daten zwischen der CPU (2) und dem Kommunikationsmodul (3). Der Zugriffsfolgensteuerabschnitt (10) steuert eine Folge von Zugriffen der Steuerabschnitte (6, 7, 8a) auf das Kommunikationsmodul (3).

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung betrifft einen Mikrocomputer, der ein Kommunikationsmodul aufweist und mit anderen Kommunikationsknoten, die mit einem Kommunikationsnetzwerk verbunden sind, kommuniziert.
  • STAND DER TECHNIK
  • Neuerdings wird die Betriebsverarbeitung einer zentralen Verarbeitungseinheit (CPU) beschleunigt, und somit ist deren Betriebsgeschwindigkeit wesentlich schneller als diejenige von peripheren Schaltungen. Wenn die CPU Daten, die in einem Register gespeichert sind, mit niedriger Geschwindigkeit ausliest, entsteht eine Latenz, und es verringert sich die Verarbeitungseffizienz. Um eine Verringerung der Verarbeitungseffizienz zu verhindern, beschreibt beispielsweise die JP 2009-289232 A (1), eine Konfiguration, bei der Daten, die in peripheren Modulen (Register mit niedriger Geschwindigkeit) gespeichert sind, in einen Registrierungseintrag bzw. Registereintrag(Register-Entry)(Register mit hoher Geschwindigkeit) kopiert werden und die CPUs die Daten durch Zugreifen nur auf den Registereintrag erlangen.
  • Um eine Kohärenz zwischen den peripheren Modulen und dem Registereintrag aufrechtzuerhalten, werden Daten desselben Werts in die Module und den Registereintrag geschrieben. In der Mitte eines Schreibzyklus eines peripheren Busses niedriger Geschwindigkeit wird eine Schreibbeendigungsbenachrichtigung an den Registereintrag übertragen, und es wird ein Flag, das die Übereinstimmung von Daten (Parity-Bit) angibt, gesetzt. Die CPUs überprüfen durch Überprüfen eines logischen Pegels des Parity-Bit, ob die Daten der peripheren Module und des Registereintrags dieselben sind.
  • In einem Mikrocomputer, der mit einem Kommunikationsnetzwerk verbunden ist, führt eine CPU einen Zugriff auf eine periphere Schaltung innerhalb eines Chips mit einer hohen Geschwindigkeit durch, führt aber eine Kommunikationen über eine Kommunikationsschnittstelle und ein Netzwerk mit niedriger Geschwindigkeit durch. In einem Fall, in dem die oben beschriebene Technologie direkt für einen derartigen Mikrocomputer verwendet wird, ist es notwendig, ein Register hoher Geschwindigkeit zwischen der CPU und einer Kommunikationsschnittstelle (Puffer) vorzusehen und die Kommunikationsschnittstelle und das Register hoher Geschwindigkeit durch einen ausschließlichen Bus miteinander zu verbinden, der in der Lage ist, Daten mit hoher Geschwindigkeit zu übertragen. Dieses ist jedoch nicht einfach möglich, da es Schwierigkeiten beim Anpassen der Kommunikationsschnittstelle für den Betrieb mit hoher Zugriffsgeschwindigkeit gibt und hohe Kosten entstehen.
  • ZUSAMMENFASSUNG
  • Daher ist es eine Aufgabe der vorliegenden Erfindung, einen Mikrocomputer zu schaffen, der mit einem Kommunikationsnetzwerk verbunden ist und eine Verringerung der Verarbeitungseffizienz eines Hosts mit einer einfachen und kostengünstigen Konfiguration verhindern kann.
  • Die Aufgabe wird mit den Merkmalen des unabhängigen Anspruchs 1 gelöst. Die abhängigen Ansprüche sind auf bevorzugte Ausführungsformen der Erfindung gerichtet.
  • Ein Mikrocomputer enthält ein Kommunikationsmodul, einen Host, einen Lesepuffer, einen Schreibpuffer, einen Lesesteuerabschnitt, einen Schreibsteuerabschnitt, einen Umgehungszugriffssteuerabschnitt und einen Zugriffsfolgensteuerabschnitt. Das Kommunikationsmodul führt eine Kommunikation mit einem anderen Knoten, der mit einem Kommunikationsnetzwerk verbunden ist, durch. Der Host enthält mindestens eine CPU. Der Lesepuffer ist zwischen dem Kommunikationsmodul und dem Host vorgesehen, so dass der Host Daten ausliest. In den Schreibpuffer werden Daten von dem Host eingeschrieben. Der Lesesteuerabschnitt gibt periodisch eine Kommunikationsanforderung an das Kommunikationsmodul aus, so dass das Kommunikationsmodul Daten, die von dem externen Knoten empfangen werden, an den Lesepuffer überträgt. Die Kommunikationsanforderung ist für ein Datenleseziel vorgesehen. Der Schreibsteuerabschnitt überträgt die Daten, die in den Schreibpuffer geschrieben werden, als Übertragungsdaten an das Kommunikationsmodul. Der Umgehungszugriffssteuerabschnitt steuert den Host, um ein Lesen und Schreiben von Daten direkt mit dem Kommunikationsmodul ohne Verwendung des Lesepuffers und des Schreibpuffers durchzuführen. Der Zugriffsfolgensteuerabschnitt steuert eine Folge von Zugriffen des Lesesteuerabschnitts, des Schreibsteuerabschnitts und des Umgehungszugriffssteuerabschnitts auf das Kommunikationsmodul.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Funktionsblockdiagramm, das einen Mikrocomputer gemäß einer ersten Ausführungsform zeigt;
  • 2 ist ein Zeitdiagramm, das einen Betrieb der ersten Ausführungsform zeigt;
  • 3 ist eine schematische Darstellung eines Kommunikationsrahmens, der in der ersten Ausführungsform verwendet wird;
  • 4A ist ein Flussdiagramm, das eine Zugriffsverarbeitung einer CPU, die in der ersten Ausführungsform durchgeführt wird, zeigt;
  • 4B ist ein Flussdiagramm, das eine Kommunikationssteuerverarbeitung eines Zugriffsfolgensteuerabschnitts gemäß der ersten Ausführungsform zeigt;
  • 5 ist ein Funktionsblockdiagramm, das teilweise einen Mikrocomputer gemäß einer zweiten Ausführungsform zeigt;
  • 6 ist ein Zeitdiagramm, das einen Erneuerungseintrag in einem Lesepuffer entsprechend zwei Erneuerungsperioden gemäß der zweiten Ausführungsform zeigt;
  • 7A ist ein Zeitdiagramm, das Fälle gemäß der zweiten Ausführungsform zeigt, bei denen sich Erneuerungsperioden teilweise überdecken und Zugriffe von den Gruppen A und B teilweise einen Konflikt miteinander aufweisen;
  • 7B ist eine Darstellung eines Kommunikationsrahmens, der in der zweiten Ausführungsform verwendet wird;
  • 8 ist ein Flussdiagramm, das Details eines Pufferfüllprozesses zeigt, der in der zweiten Ausführungsform ausgeführt wird und dem Zeitdiagramm der 7A entspricht;
  • 9 ist ein Funktionsblockdiagramm, das einen Zugriffsfolgensteuerabschnitt als einen Hauptteil eines Mikrocomputers gemäß einer dritten Ausführungsform zeigt;
  • 10 ist ein Zeitdiagramm, das einen Betrieb der dritten Ausführungsform zeigt;
  • 11 ist ein Funktionsblockdiagramm, das teilweise einen Mikrocomputer gemäß einer vierten Ausführungsform zeigt;
  • 12 ist ein Funktionsblockdiagramm, das teilweise einen Mikrocomputer gemäß einer fünften Ausführungsform zeigt; und
  • 13 ist ein Funktionsblockdiagramm, das teilweise einen Mikrocomputer gemäß einer sechsten Ausführungsform zeigt.
  • DETAILLIERTE BESCHREIBUNG
  • (Erste Ausführungsform)
  • Gemäß 1, die eine erste Ausführungsform zeigt, ist ein Mikrocomputer 1 eine integrierte Schaltung IC. Der Mikrocomputer 1 enthält eine CPU (Host) 2 und ist mit einem Kommunikationsbus 4 (Kommunikationsnetzwerk) über ein Kommunikationsmodul 3 verbunden. Ein Pufferzugriffssteuerabschnitt 6, ein Umgehungszugriffssteuerabschnitt 7, ein Schreibpuffer 8, ein Lesepuffer 9, ein Zugriffsfolgensteuerabschnitt 10 und Ähnliches sind zwischen der CPU 2 und dem Kommunikationsmodul 3 vorgesehen.
  • Die CPU 2 schreibt Übertragungsdaten durch Zugreifen auf den Schreibpuffer 8 mittels des Pufferzugriffssteuerabschnitts 6 beim Übertragen der Daten über das Kommunikationsmodul 3. Die Busgröße der CPU 2 beträgt beispielsweise etwa 32 Bits, und eine Betriebstaktfrequenz der CPU 2 beträgt etwa 10 MHz bis 100 MHz. Daher beträgt die Datenübertragungsgeschwindigkeit zwischen der CPU 2 und dem Schreibpuffer 8 bis zu mehreren Gbps. Der Pufferzugriffssteuerabschnitt 6 gibt eine Schreibadresse „Write Addr” an den Schreibpuffer 8 aus und schreibt Daten „Write Data” in diesen. Das Volumen des Schreibpuffers 8 beträgt beispielsweise vier bis acht Wörter unter der Annahme, dass ein Wort 32 Bits entspricht. Der Schreibpuffer 8 macht bzw. setzt ein Signal „Write Buffer Full” aktiv, wenn Daten von der CPU 2 in sämtliche Bereiche geschrieben werden. Der Zustand dieses Signals wird von der CPU 2 und dem Zugriffsfolgensteuerabschnitt 10 überwacht.
  • Wenn das Schreiben von der CPU 2 aus beendet ist, gibt ein Schreibsteuerabschnitt 8a, der in den Schreibpuffer 8 eingebaut ist, eine Schreibadresse „Write Buffer Addr”, die einen Übertragungspuffer in dem Kommunikationsmodul 3 bezeichnet, an den Zugriffsfolgensteuerabschnitt 10 aus und schreibt Daten „Write Buffer Data” in diesen. Der Zugriffsfolgensteuerabschnitt 10 gibt die Adresse und die Daten, die von dem Schreibpuffer 8 ausgegeben werden, jeweils als eine Adresse „Req Addr” und Daten „Write Data” an das Kommunikationsmodul 3 aus und schreibt die Daten in dieses. Das Kommunikationsmodul 3 gibt die Daten, die von dem Schreibpuffer 8 übertragen werden, an eine periphere Schaltung (A) 12, eine periphere Schaltung (B) 13 und Ähnliches aus, die als weitere Kommunikationsknoten, die mit dem Kommunikationsbus 4 verbunden sind, vorgesehen sind. Die peripheren Schaltungen 12, 13 sind ebenfalls jeweils integrierte Schaltungen (ICs). Das Ziel der Übertragung wird durch die Adresse, die von der CPU 2 ausgegeben wird, bestimmt. Die Übertragungsgeschwindigkeit (Zwischen-Chip-Kommunikationsgeschwindigkeit) auf dem Kommunikationsbus 4 beträgt beispielsweise etwa bis zu mehreren Mbps.
  • Der Lesepuffer 9 wird von dem Lesesteuerabschnitt 11 gesteuert. Der Lesesteuerabschnitt 11 erzeugt Datenübertragungsanforderungen an die peripheren Schaltungen 12, 13, etc., die externe Knoten sind, die mit dem Kommunikationsbus 4 verbunden sind, durch periodisches Zugreifen auf das Kommunikationsmodul 3 über den Zugriffsfolgensteuerabschnitt 10. Das Kommunikationsmodul 3 bewirkt, dass der Lesepuffer 9 die Daten, die von den peripheren Schaltungen 12, 13, etc. empfangen werden, überträgt. Die CPU 2 liest die Daten, die das Kommunikationsmodul 3 empfängt, durch Zugreifen auf den Lesepuffer 9 über den Pufferzugriffssteuerabschnitt 6 aus. Die peripheren Schaltungen 12 und 13 sind periphere Geräte des Mikrocomputers 1 aus der Sicht des Mikrocomputers 1. Diese peripheren Schaltungen 12, 13 können jedoch auch ähnlich wie der Mikrocomputer 1 jeweilige Mikrocomputer sein.
  • Der Lesesteuerabschnitt 11 enthält eine Konfigurationsschnittstelle (I/F) 14, einen Tag-Speicher (Etikettenspeicher) 15, einen Polling-Zeiteinstellabschnitt (Abrufzeiteinstellabschnitt) 16, einen Erneuerungszeitgeber 17, eine Erneuerungssteuerlogik 18 und Ähnliches. Die I/F 14 ist eine Schnittstelle, über die die CPU 2 ein Einstellen in dem Lesesteuerabschnitt 11 zu dem Zeitpunkt der Anfangseinstellung, die durchgeführt wird, wenn dem Mikrocomputer 1 elektrische Energie zugeführt wird, durchführt. Die CPU 2 führt ein Einstellen in dem Tag-Speicher 15 und dem Abschnitt 16 über die I/F 14 durch.
  • Einträge, die jeweils einen Blockbereich einer Einheit von 32 Bytes bilden, sind in dem Datenspeicherbereich des Lesepuffers 9 definiert. In den Tag-Speicher 15 wird „Puffer Addr”, die eine Basisadresse eines jeweiligen Eintrags angibt, durch eine Anzahl von Einträgen geschrieben. Die Kapazität des Lesepuffers 9 beträgt beispielsweise etwa 1 kByte. Periodendaten, die bewirken, dass der Lesepuffer 9 Daten überträgt, werden in dem Polling-Zeiteinstellabschnitt 16 eingestellt. Diese Periodendaten werden in den Erneuerungszeitgeber 17 geladen. Die Erneuerungssteuerlogik 18 gibt eine Leseadresse „Read Buffer Addr” an den Zugriffsfolgensteuerabschnitt 10 entsprechend einem festen Intervall, das von dem Erneuerungszeitgeber 17 gemessen wird, aus. Diese Leseadresse „Read Buffer Addr” ist eine Adresse zum Bestimmen eines Ziels (Kommunikationsanforderung, die ein Kommunikationsziel bestimmt), von dem Daten ausgelesen werden. Dessen Ausgabemuster, d. h. ein Objekt, von dem Daten über den Kommunikationsbus 4 erlangt werden, ist vorbestimmt.
  • Der Zugriffsfolgensteuerabschnitt 10 überträgt die Adresse, die die Erneuerungssteuerlogik 18 ausgegeben hat, als die Adresse „Req Addr” an das Kommunikationsmodul 3. Das Kommunikationsmodul 3 erzeugt Datenübertragungsanforderungen an irgendeinen der Knoten wie beispielsweise die peripheren Schaltungen 12, 13, etc., die mit dem Kommunikationsbus 4 verbunden sind, entsprechend der gegebenen Adresse. Das Kommunikationsmodul 3 sendet die Daten, die als Antwort auf die Anforderung zurückgegeben werden, als „Read Data” an den Zugriffsfolgensteuerabschnitt 10. Der Zugriffsfolgensteuerabschnitt 10 überträgt die empfangenen Daten als „Read Buffer Data” an den Lesepuffer 9. In dem Fall dieser Übertragung gibt die Erneuerungssteuerlogik 18 die Schreibzieladresse der empfangenen Daten „Read Buffer Data” an den Lesepuffer 9 aus. Diese Schreibzieladresse ist 4 Bytes lang.
  • Wenn die CPU 2 die Daten, die in den Lesepuffer 9 geschrieben wurden, ausliest, legt sie die gelesene Adresse „Read Addr” über den Pufferzugriffssteuerabschnitt 6 an den Multiplexer 19 an, der an der Datenausgangsseite des Tag-Speichers 15 und des Lesepuffers 9 vorhanden ist. Das neunte und die höheren Bits der Leseadresse „Read Addr” von der Seite des geringwertigsten Bits aus werden an den Tag-Speicher 15 angelegt. Der Tag-Speicher 15 gibt die Basisadresse, die der Adresse entspricht, an den Lesepuffer 9 aus. Der Lesepuffer 9 gibt die Daten von 32 Bytes, die der Basisadresse entsprechen, an den Multiplexer 19 aus. Das achte bis sechste Bit der Leseadresse „Read Addr” werden an den Multiplexer 19 angelegt. Der Multiplexer 19 wählt 4 Bytes der 32 Bytes an Daten, die entsprechend der Adresse von 3 Bits an die Eingangsseite angelegt werden, aus und gibt diese an den Pufferzugriffssteuerabschnitt 6 als die gelesenen Daten „Read Data” aus.
  • Getrennt von dem obigen Zugriffspfad ist die CPU 2 ausgelegt, auf das Kommunikationsmodul 3 über den Umgehungszugriffssteuerabschnitt 7 und den Zugriffsfolgensteuerabschnitt 10 direkt zuzugreifen (Umgehungspfad). In diesem Fall schreibt die CPU 2 die Übertragungsdaten in das Kommunikationsmodul 3 und liest die Empfangsdaten direkt aus dem Kommunikationsmodul 3 aus. Der Umgehungszugriffssteuerabschnitt 7 gibt eine Adresse „Bypass Request Adress” und Schreibdaten „Bypass Write Data” an den Zugriffsfolgensteuerabschnitt 10 aus. In dem Fall des Auslesens von Daten werden die Daten „Bypass Read Data” erlangt. Die Host-Schnittstelle 5 wechselt den Zugriffspfad zu entweder dem Pufferzugriffssteuerabschnitt 6 oder dem Umgehungszugriffssteuerabschnitt 7 in Abhängigkeit davon, ob die Adresse, die von der CPU 2 ausgegeben wird, einen Zugriff auf den Schreibpuffer 8 oder den Lesepuffer 9 oder einen direkten Zugriff (Umgehungszugriff) auf das Kommunikationsmodul 3 angibt.
  • Gemäß der oben beschriebenen Konfiguration kann die CPU 2 Daten durch Zugreifen auf den Schreibpuffer 8 und den Lesepuffer 9 mit hoher Geschwindigkeit lesen und schreiben. Eine Übertragung der Daten, die in den Schreibpuffer 8 geschrieben sind, und eine Kommunikation über den Bus 4 werden mittels Hardware ohne die CPU 2 durchgeführt. Ein Speichern der Daten in den Lesepuffer 9 wird über den Lesesteuerabschnitt 11 und Ähnlichem, die Hardwareelemente sind und automatisch eine Kommunikation über den Kommunikationsbus 4 durchführen, durchgeführt.
  • Die Daten, die die CPU 2 über den Lesepuffer 9 ausliest, sind wahrscheinlich Daten von einer Zyklusperiode vor der Erneuerungszyklusperiode des Erneuerungszeitgebers 17. Die Daten, die die CPU 2 über den Schreibpuffer 8 überträgt, werden um eine Periode des Passierens des Schreibpuffers 8 verzögert. Wenn die CPU 2 einen Wert spezieller Daten synchron zu ihrer Verarbeitung eines Steuerprogramms erlangen oder diesen übertragen muss, greift die CPU 2 über den Umgehungszugriffssteuerabschnitt 7 direkt auf das Kommunikationsmodul 3 zu, wobei der Schreibpuffer 8 und der Lesepuffer 9 umgangen werden. Somit ist es ebenfalls möglich, eine Übertragung und einen Empfang von Kommunikationsdaten direkt durchzuführen. Obwohl es nicht gezeigt ist, sind ein Speicher, der das Steuerprogramm, das von der CPU 2 ausgeführt wird, speichert und ein Speicher, der als ein Arbeitsbereich und Ähnliches beim Ausführen des Steuerprogramms verwendet wird, direkt mit dem CPU-Bus 20 verbunden.
  • Im Folgenden wird der Betrieb der ersten Ausführungsform mit Bezug auf die 2 bis 4A, 4B beschrieben. Wie es in 4A gezeigt ist, die die Zugriffsverarbeitung, die die CPU 2 beim Lesen und Schreiben von Daten durchführt, zeigt, überprüft die CPU 2, ob sie auf die Seite des Schreibpuffers 8 oder Lesepuffers 9 zugreift oder den Umgehungspfad auswählt (Schritt S1). In dem Fall des Zugriffs auf die Seite des Schreibpuffers 8 oder Lesepuffers 9 und eines Schreibens (Schritt S2: WR) nimmt die CPU 2 Bezug auf das Signal „Write Buffer Full” und überprüft, ob der Schreibpuffer 8 voll ist (Schritt S3). Wenn dieser nicht voll ist (NEIN), schreibt die CPU 2 Daten in den Schreibpuffer 8 (Schritt S4). Dann ist der Zugriff beendet. In dem Fall eines Lesens (Schritt S2: RD) in Schritt S2 liest die CPU 2 Daten aus dem Lesepuffer 9 aus (Schritt S5).
  • Wenn die CPU 2 in Schritt S1 den Umgehungspfad auswählt, nimmt die CPU 2 Bezug auf das Signal „Write Buffer Full” und überprüft, ob der Schreibpuffer 8 leer ist (das oben beschriebene Signal ist nicht aktiv) (Schritt S6). Wenn der Schreibpuffer 8 nicht leer ist, ist es wahrscheinlich, dass der Zugriffsfolgensteuerabschnitt 10 zur Übertragung von Daten darauf zugreift. Die CPU 2 wartet daher, bis der Schreibpuffer 8 leer ist. Wenn der Schreibpuffer 8 leer ist (JA), gibt die CPU 2 die Adresse „Bypass Request Address” über den Umgehungszugriffssteuerabschnitt 7 an den Zugriffsfolgensteuerabschnitt 10 aus (Schritt S7: Busanforderung erzeugen). Wenn die Übertragung, die einem Lesen/Schreiben von Daten entspricht, beendet ist (Schritt S8: JA (Busanforderung beendet)), wird der Zugriff beendet. In der oben beschriebenen Verarbeitung wird die Auswahl eines Pfads in Schritt S1 durch die Host-Schnittstelle 5 durchgeführt.
  • Wie es in 4B gezeigt ist, die die Verarbeitung, die eine Kommunikationssteuerung betrifft, die hauptsächlich von dem Zugriffsfolgensteuerabschnitt 10 durchgeführt wird, zeigt, überprüft die CPU 2 nach der Ausführung einer Leerlaufzustandsverarbeitung (Schritt S11) auf ähnliche Weise wie in Schritt S6, ob der Schreibpuffer 8 leer ist (Schritt S12). Wenn dieser nicht leer ist (NEIN), bewirkt die CPU 2, dass der Schreibpuffer 8 eine Übertragung von Daten an den Zugriffsfolgensteuerabschnitt 10 durchführt (Schritt S15: Schreibpufferprozess). Wenn die Datenübertragungsverarbeitung beendet ist, wird der Schritt S11 ausgeführt.
  • Wenn der Schreibpuffer 8 in Schritt S12 leer ist (JA), überprüft die CPU 2, ob die Zugriffsanforderung von der CPU 2 auf bzw. an den Umgehungspfad vorhanden ist (Schritt S13). Wenn die Zugriffsanforderung vorhanden ist (JA), akzeptiert die CPU 2 die Zugriffsanforderung über den Umgehungszugriffssteuerabschnitt 7 und verarbeitet diese (Schritt S16: Prozess eines direkten Zugriffs). Dann wird der Schritt S11 ausgeführt. Wenn die Zugriffsanforderung nicht vorhanden ist (NEIN), überprüft die CPU 2, ob die Adresse „Read Buffer Addr” von der Erneuerungssteuerlogik 18 erzeugt wird, das heißt, ob eine Polling-Anforderung vorhanden ist (Schritt S14). Wenn die Polling-Anforderung vorhanden ist (JA), führt die CPU 2 den Pufferfüllprozess als Antwort auf die Polling-Anforderung durch, um die Daten, die von dem anderen Knoten über das Kommunikationsmodul 3 empfangen werden, an den Lesepuffer 9 zu übertragen.
  • 2(a) zeigt einen Abwärtszählbetrieb, den der Erneuerungszeitgeber 17 durchführt. Durch diesen Zählbetrieb wird die Periode (Polling-Periode), mit der die Erneuerungssteuerlogik 18 das Ausgeben der Adresse „Read Buffer Addr” an den Zugriffsfolgensteuerabschnitt 10 startet, eingestellt. Ein Zeitgeberwert, der in dem Polling-Zeiteinstellabschnitt 16 eingestellt wird, wird in den Zeitgeber 17 geladen, und es wird zu einem Zeitpunkt des Starts des Abwärtszählbetriebs ein Auslöser an die Erneuerungssteuerlogik 18 angelegt. Die Erneuerungssteuerlogik 18 startet daraufhin ein Polling bzw. Pollen (Erneuern: Auffrischen). Nach der Beendigung des Polling wird der Zeitgeberwert des Zeitgebers 17 gleich null, und zu derselben Zeit wird der Zeitgeberwert neu geladen, um denselben Betrieb zu wiederholen.
  • 2(b) zeigt einen Zwischen-Chip-Kommunikationszustand. Während einer festen Zeit von dem Beginn der Polling-Periode an werden die Daten, die das Kommunikationsmodul 3 empfängt, an den Lesepuffer 9 als Antwort auf die Kommunikationsanforderung der Erneuerungssteuerlogik 18 übertragen (Schritt S17: Pufferfüllprozess). Hier zeigt 3 einen Kommunikationsrahmen, d. h. ein Datenformat, das über den Bus des Mikrocomputers 1 übertragen wird. In dem Lesepuffer 9 weisen die Daten, die in einem Eintrag gespeichert sind, 32 Bytes auf. Daher wird ein 4-Byte-Zugriff achtmal wiederholt. Das Polling wird aufeinanderfolgend entsprechend der Anzahl der Einträge, die in dem Lesepuffer 9 eingestellt bzw. enthalten sind, durchgeführt.
  • 2(c) zeigt verschiedene Zugriffe, die die CPU 2 durchführt. Die CPU 2 kann Lesezugriffe auf den Lesepuffer 9 sogar während der Periode der Datenübertragung (Puffererneuerung) durchführen. Da die Datenübertragung zu dem Lesepuffer 9 mit niedrigen Geschwindigkeiten durchgeführt wird, wird der Lesezugriff durch Unterbrechen des Übertragungsbetriebs durch einen Lesezyklus der CPU 2 durchgeführt. Wenn die CPU 2 Daten in den Schreibpuffer 8 schreibt, werden die Daten unmittelbar durch Durchführen der Zwischen-Chip-Kommunikation übertragen. Wenn die CPU 2 einen Zugriff (Lesen) auf bzw. über den Umgehungspfad in einer anderen Periode als der Datenübertragungsperiode des Lesepuffers 9 durchführt, dient diese Periode zur Echtzeit-Zwischen-Chip-Kommunikation.
  • Gemäß der oben beschriebenen ersten Ausführungsform sind der Lesepuffer 9, der Schreibpuffer 8, der Lesesteuerabschnitt 11 und der Schreibsteuerabschnitt 8a zwischen der CPU 2 und dem Kommunikationsmodul 3 vorgesehen. Die CPU 2 greift direkt auf den Lesepuffer 9 und den Schreibpuffer 8 zu. Durch periodisches Ausgeben der Kommunikationsanforderung liest der Lesesteuerabschnitt 11 Daten, die das Kommunikationsmodul 3 von anderen Knoten empfängt, aus und überträgt die Daten an den Lesepuffer 9. Der Schreibsteuerabschnitt 8a überträgt die Daten, die in den Schreibpuffer 8 geschrieben wurden, als die Übertragungsdaten an das Kommunikationsmodul 3. Außerdem sind der Umgehungszugriffssteuerabschnitt 7 und der Zugriffsfolgensteuerabschnitt 10 vorgesehen. Der Umgehungszugriffssteuerabschnitt 7 steuert ein direktes Lesen von Daten und Schreiben von Daten zwischen der CPU 2 und dem Kommunikationsmodul 3. Der Zugriffsfolgensteuerabschnitt 10 steuert die Folge von Zugriffen der Steuerabschnitte 6, 7, 8a auf das Kommunikationsmodul 3.
  • Somit muss die CPU 2 nur ein Lesen und Schreiben von Daten durch Zugriff auf den Lesepuffer 9 und den Schreibpuffer 8 mit hoher Geschwindigkeit durchführen. Da der Lesesteuerabschnitt 11 und der Schreibsteuerabschnitt 8a die Datenübertragung in Bezug auf das Kommunikationsmodul 3 über den Zugriffsfolgensteuerabschnitt 10 mit niedriger Geschwindigkeit durchführen, kann die Latenz des Zugriffs der CPU 2 verkürzt werden, und es kann die Verarbeitungseffizienz verbessert werden. In dem Fall, in dem die Daten synchron zu der Verarbeitung des Steuerprogramms übertragen und empfangen werden müssen, können die Daten direkt über den Umgehungszugriffssteuerabschnitt 7 ohne den Schreibpuffer 8 und den Lesepuffer 9 übertragen und empfangen werden.
  • Wenn die CPU 2 die Schreibanforderung an den Schreibpuffer 8 ausgibt, während der Lesesteuerabschnitt 11 die Daten an den Lesepuffer 9 überträgt, unterbricht der Zugriffsfolgensteuerabschnitt 10 die Datenübertragung und ermöglicht es der CPU 2, Daten mit Priorität in den Schreibpuffer 8 zu schreiben. Während die Daten an den Lesepuffer 9 übertragen werden, ist es somit der CPU 2 möglich, einen Zugriff auf den Schreibpuffer 8 ohne Unterbrechung durchzuführen. Wenn die CPU 2 die Umgehungszugriffsanforderung ausgibt, während der Lesesteuerabschnitt 11 die Daten an den Lesepuffer 9 überträgt, unterbricht der Zugriffsfolgensteuerabschnitt 10 die Datenübertragung und ermöglicht es der CPU 2, mit Priorität auf das Kommunikationsmodul 3 zuzugreifen. Während die Daten an den Lesepuffer 9 übertragen werden, ist es somit der CPU 2 möglich, einen Zugriff auf das Kommunikationsmodul 3 ohne Unterbrechung durchzuführen.
  • (Zweite Ausführungsform)
  • Gemäß einer zweiten Ausführungsform, die in den 5 bis 8 gezeigt ist, ist der Lesesteuerabschnitt 11 anders als in der ersten Ausführungsform aufgebaut. In dem Lesesteuerabschnitt 11 sind jeweils der Polling-Zeiteinstellabschnitt 16 und der Erneuerungszeitgeber 17 in zwei Sätzen vorgesehen, wie es durch 16A, 16B und 17A, 17B bezeichnet ist. Unterschiedliche Zeitgeberwerte werden jeweils durch die Polling-Zeiteinstellabschnitte 16A, 16B in den Erneuerungszeitgebern 17A, 17B eingestellt. Die Erneuerungssteuerlogik 18 empfängt Auslösersignale von den Erneuerungszeitgebern 17A, 17B und ändert Ausgangsadressen „Read Buffer Addr”, auf deren Grundlage der Erneuerungszeitgeber 17A, 17B das Auslösersignal ausgegeben hat.
  • 6 zeigt Zustände von Erneuerungseinträgen in dem Lesepuffer 9 entsprechend zwei Erneuerungsperioden TA, TB, die von den Erneuerungszeitgebern 17A, 17B erzeugt werden. 6(a) und 6(b) entsprechen jeweils einer A-Seite (Gruppe A) und einer B-Seite (Gruppe B). Ein Erneuern eines jeweiligen Eintrags entspricht Daten von 32 Bytes (8 × 4 Bytes). In einem Anfangsintervall in jeder Periode werden die Einträge (0) bis (3) und die Einträge (4) bis (7) erneuert.
  • 7A zeigt Fälle, in denen sich die Erneuerungsperioden TA und TB teilweise überdecken und sich Zugriffe der Gruppen A und B teilweise überdecken. Zu dem Zeitpunkt t1 in der Figur wird angenommen, dass die CPU 2 Daten in den Schreibpuffer 8 schreibt, während der Lesepuffer 9 (Einträge (0) bis (3)) durch die Gruppe A erneuert wird. Zu diesem Zeitpunkt wird ein Erneuern des Lesepuffers 9 zeitweilig unterbrochen, wie es bei INT(WB) angegeben ist, und es wird ein Schreiben in den Schreibpuffer 8 mit Priorität durchgeführt.
  • Wenn die Erneuerungsanforderung zu dem Zeitpunkt t2 durch die Gruppe B erzeugt wird, während der Lesepuffer 9 durch die Gruppe A erneuert wird, ist diese Erneuerungsanforderung schwebend, das heißt, ein Erneuern (der Gruppe B) wird durch die Gruppe A unterbrochen, wie es durch INT(A) angegeben ist. Wenn das Erneuern durch die Gruppe A zu dem Zeitpunkt t3 beendet ist, werden die Einträge (4) bis (7) durch die Gruppe B erneuert. Zu dem Zeitpunkt t4 werden die Erneuerungsanforderungen für den Lesepuffer 9 durch die Gruppen A, B gleichzeitig erzeugt. In diesem Fall wird der Erneuerung der Gruppe A Priorität eingeräumt, und die Anforderung der Gruppe B wird schwebend.
  • Wenn die Schreibanforderung für den Schreibpuffer 8 und die Umgehungszugriffsanforderung zu den Zeitpunkten t5 und t6 jeweils erzeugt werden, während die Gruppe A erneuert wird, wird diesen Anforderungen Priorität eingeräumt, und das Erneuern der Gruppe A wird schwebend, das heißt, die Erneuerung wird unterbrochen, wie es durch INT(WB) und INT(BA) angegeben ist. Wenn der Umgehungszugriff zu dem Zeitpunkt t7 beendet ist, wird ein Erneuern durch die Gruppe A fortgesetzt. Wenn dieses Erneuern beendet ist, wird zu dem Zeitpunkt t8 eine Erneuerung durch die Gruppe B durchgeführt. 7B zeigt ein Bild des Kommunikationsrahmens zu den Zeitpunkten t4 bis t7. Während der Lesepuffer 9 durch die Gruppe A erneuert wird, werden die Schreibpufferdaten und die Umgehungszugriffsdaten unterbrochen.
  • In dem Fall des Zeitdiagramms der 7 wird der Pufferfüllprozess wie in 8 gezeigt durchgeführt. Sogar während der Lesepuffer 9 erneuert wird, überprüft der Zugriffsfolgensteuerabschnitt 10, ob die Schreibanforderung (Schritt S21) oder die Umgehungszugriffsanforderung (Schritt S22) für den Schreibpuffer 8 erzeugt wird. Wenn eine der Anforderungen erzeugt wird (JA), wird eine derartige Anforderung mit Priorität durchgeführt (S15, S16). Wenn keine der Anforderungen erzeugt wird (Schritt S22: NEIN), wird der Lesepuffer 9 erneuert (Schritt S23).
  • Gemäß der zweiten Ausführungsform akzeptiert der Zugriffsfolgensteuerabschnitt 10 in einem Fall, in dem der Lesesteuerabschnitt 11 ausgelegt ist, die Kommunikationsanforderungen in mehreren unabhängigen Perioden TA, TB zu erzeugen, andere Kommunikationsanforderungen nach der Beendigung der durchgeführten Datenübertragung, wenn die Kommunikationsanforderung, die den anderen Perioden entspricht, in einer Periode erzeugt wird, in der eine Datenübertragung für den Lesepuffer 9 von dem Lesesteuerabschnitt 11 entsprechend der Kommunikationsanforderung auf der Grundlage irgendeiner Beendigung durchgeführt wird. Demzufolge reguliert der Zugriffsfolgensteuerabschnitt 10 sogar dann, wenn die Datenübertragung an den Lesepuffer 9 auf der Grundlage mehrerer Perioden durchgeführt wird, die Folge von Zugriffen, um die Datenübertragung sicher durchzuführen. Es ist selbstverständlich möglich, dieses durch Erzeugen von drei oder mehr Perioden durchzuführen.
  • (Dritte Ausführungsform)
  • In einer dritten Ausführungsform, die in den 9 und 10 gezeigt ist, enthält der Zugriffsfolgensteuerabschnitt 10 teilweise eine Konfiguration, die in der Form einer Logikschaltung gezeigt ist. Der Zugriffsfolgensteuerabschnitt 10 enthält zwei UND-Gatter 32, 33 und zwei Multiplexer 34, 35. Das Umgehungsanforderungssignal und das Schreibpufferanforderungssignal werden an einen jeweiligen Eingangsanschluss der UND-Gatter 32 und 33 angelegt. Diese Anforderungssignale entsprechen den Adressen „Bypass Request Addr” und „Write Buffer Addr”. Wenn es möglich ist, beide Signale durch ein spezielles Bit der Adresse zu trennen, können jeweils spezielle Bits zugewiesen sein. Es ist ebenfalls möglich, die Anforderungssignale durch Decodieren jeweiliger Adressen zu erzeugen.
  • Ein Lesepufferprioritätssignal wird an den anderen, invertierten Eingangsanschluss der jeweiligen UND-Gatter 32, 33 angelegt. Der Zeitgeberwert des Erneuerungszeitgebers 17 wird mit einem Schwellenwert, der in einem Prioritätsänderungsschwelleneinstellregister 37 eingestellt ist, mittels eines Komparators 38 verglichen. Wenn der Zeitgeberwert auf unterhalb des Schwellenwerts abfällt, wird das Lesepufferprioritätssignal aktiv (hoch).
  • Ein Ausgangsanschluss des UND-Gatters 32 ist mit einem Eingangsanschluss des Multiplexers 34 und außerdem mit einem Auswahlwechselanschluss des Multiplexers 34 verbunden. Das Lesepufferanforderungssignal, das der Adresse „Read Buffer Addr” entspricht, wird an den anderen Eingangsanschluss des Multiplexers 34 angelegt. Der Ausgangsanschluss des UND-Gatters 33 und ein Ausgangsanschluss des Multiplexers 34 sind mit Eingangsanschlüssen eines Multiplexers 35 verbunden. Der Ausgangsanschluss des UND-Gatters 33 ist ebenfalls mit einem Auswahlwechselanschluss des Multiplexers 35 verbunden.
  • Jeder der Multiplexer 34, 35 wählt jeweils die L-Seite des Eingangsanschlusses und die H-Seite des Eingangsanschlusses aus, wenn der Signalpegel an dem Auswahlwechselanschluss jeweils niedrig und hoch ist. Der Ausgangsanschluss des Multiplexers 35 legt die Adresse „Req Addr” an das Kommunikationsmodul 3 an. In 9 sind die Adresse und das Signal, das auf der Adresse basiert, ohne Unterscheidung gezeigt. In der Praxis wird die Adresse, die der Anforderung entspricht, die durch den Multiplexer 35 ausgewählt wird, an das Kommunikationsmodul 3 als die Adresse „Req Addr” angelegt.
  • Im Folgenden wird der Betrieb der dritten Ausführungsform mit Bezug auf 10 beschrieben. Zu Beginn der Erneuerungsperiode des Lesepuffers 9 ist das Lesepufferprioritätssignal nicht aktiv (niedrig), wie es bei (c), (d) gezeigt ist. Wenn die Schreibanforderung an den Schreibpuffer 8 erzeugt wird, während der Lesepuffer 9 in diesem Zustand Daten überträgt, wie es bei (a) gezeigt ist, wird das Schreibpufferanforderungssignal in dem Multiplexer 35 ausgewählt, und somit wird ein Schreiben in den Schreibpuffer 8 mit Priorität durchgeführt, wie es bei (b) gezeigt ist. Wenn die Zugriffsanforderung für den Umgehungspfad erzeugt wird, wird das Umgehungsanforderungssignal durch den Multiplexer 34, 35 ausgewählt, und somit wird der Zugriff auf den Umgehungspfad mit Priorität durchgeführt. Der Zeitgeberwert des Erneuerungszeitgebers 17 verringert sich, wie es bei (d) gezeigt ist. Wenn der Zeitgeberwert auf unterhalb eines Prioritätsänderungsschwellenwerts abfällt, der in dem Register 32 eingestellt ist, wird das Lesepufferprioritätssignal aktiv, wie es bei (c) gezeigt ist.
  • Wenn Letzteres mit Priorität von dem Beginn der Erneuerungsperiode an durchgeführt wird, beispielsweise aufgrund eines Wettbewerbs mit der Zugriffsanforderung für den Umgehungspfad und der Periode einer derartigen Durchführung, verbleibt die Erneuerung des Lesepuffers 9 schwebend, und der Zeitgeberwert des Erneuerungszeitgebers 17 wird weiter verringert. Wenn der Zeitgeberwert auf unterhalb des Schwellenwerts abfällt, der in dem Register 32 eingestellt ist, wird das Lesepufferprioritätssignal aktiv. Als Ergebnis wird das Pufferanforderungssignal (Adresse „Read Buffer Addr”) durch die Multiplexer 34, 35 an das Kommunikationsmodul 3 ausgegeben. Dann wird der Lesepuffer 9 mit Priorität erneuert.
  • Wenn die verbleibende Zeit der Erneuerungsperiode eine Grenzzeit erreicht, wodurch die Datenübertragung innerhalb der Erneuerungsperiode beendet wird, gibt der Lesesteuerabschnitt 11 in einem Fall, in dem das Kommunikationsmodul 3 die empfangenen Daten an den Lesepuffer 9 überträgt, das Prioritätssignal, mit dem der Lesesteuerabschnitt 11 selbst auf das Kommunikationsmodul 3 mit Priorität zugreift, aus. Wenn das Prioritätssignal angelegt wird, erlaubt es der Zugriffsfolgensteuerabschnitt 10 dem Lesesteuerabschnitt 11, auf das Kommunikationsmodul 3 mit Priorität über der Anforderung der Übertragung von Daten an das Kommunikationsmodul 3 durch den Schreibsteuerabschnitt 8a und den Umgehungszugriffssteuerabschnitt 7 zuzugreifen. Somit kann die Datenübertragung an den Lesepuffer 9 sicher innerhalb der Erneuerungsperiode beendet werden.
  • (Vierte Ausführungsform)
  • In einer vierten Ausführungsform, die in 11 gezeigt ist, wird der Lesepuffer 9 durch den Lesesteuerabschnitt (Datenerneuerungsabschnitt) 11 gesteuert. Der Lesesteuerabschnitt 11 enthält den Tag-Speicher 15. Die Schreibdaten „Write Buffer Data”, die Daten „Bypass Read Data” und die Daten „Bypass Write Data” werden an den Lesepuffer 9 als Erneuerungsdaten „Update Data” angelegt. Die Schreibdaten „Write Buffer Data” werden über den Schreibpuffer 9 an den Zugriffsfolgensteuerabschnitt 10 ausgegeben. Die Daten „Bypass Read Data” werden über den Zugriffsfolgensteuerabschnitt 10 an den Umgehungszugriffssteuerabschnitt 7 ausgegeben. Die Daten „Bypass Write Data” werden von dem Umgehungszugriffssteuerabschnitt 7 an den Zugriffsfolgensteuerabschnitt 10 ausgegeben.
  • In dem Tag-Speicher 15 wird die Basisadresse „Update Addr” zum Bezeichnen des Eintrags, in dem die Daten „Update Data” gespeichert sind, ebenfalls auf die Anfangseinstellung eingestellt. Da dessen Basisadresse „Update Addr” an den Lesepuffer 9 angelegt wird, werden die Schreibadresse „Write Buffer Addr”, die der Schreibpuffer 8 an den Zugriffsfolgensteuerabschnitt 10 ausgibt, und die Adresse „Bypass Request Addr”, die der Umgehungszugriffssteuerabschnitt 7 an den Zugriffsfolgensteuerabschnitt 10 ausgibt, angelegt. Der Adressbus und der Datenbus sind teilweise als direkt miteinander verbunden gezeigt. Dieses meint jedoch nicht, dass die Busse physikalisch miteinander verbunden sind. Stattdessen meint dieses eher, dass die Adresse und die Daten in den Lesepuffer 9 und den Tag-Speicher 15 unter einer ODER-Bedingung eingegeben werden.
  • In der vierten Ausführungsform wird, wenn die Daten, die die CPU 2 in den Schreibpuffer 8 schreibt, mit der Adresse über den Zugriffsfolgensteuerabschnitt 10 an das Kommunikationsmodul 3 ausgegeben werden, die Basisadresse „Update Addr” über den Tag-Speicher 15 an den Lesepuffer 9 angelegt. Gleichzeitig werden die Schreibdaten „Write Buffer Data” als die Daten „Update Data” zum Erneuern in den Lesepuffer 9 eingegeben, und somit wird der entsprechende Eintrag durch die Daten „Write Buffer Data” erneuert.
  • Die Daten, die die CPU 2 beispielsweise nach außen überträgt, sind Daten, die in eine externe Speichervorrichtung und Ähnliches wie beispielsweise eine HDD oder eine Speicherkarte geschrieben und in dieser gespeichert werden, und Daten, die als die Einstelldaten gespeichert werden müssen. Diese Daten werden nur durch die CPU 2 erneuert. Durch Schreiben der Schreibdaten in den Schreibpuffer 9 und Erneuern des entsprechenden Eintrags kann eine Kohärenz der Daten sicher aufrechterhalten werden. Außerdem wird in dem Fall, in dem die CPU 2 über den Umgehungszugriffssteuerabschnitt 7 durch den Umgehungspfad einen Zugriff durchführt, die Basisadresse „Update Addr” durch die Adresse „Bypass Request Addr” an den Lesepuffer 9 angelegt, und die Daten „Bypass Read Data” oder die Daten „Bypass Write Data” werden als Erneuerungsdaten „Update Data” angelegt. Der entsprechende Eintrag wird somit erneuert.
  • Wie es oben beschrieben wurde, erneuert der Lesesteuerabschnitt 11 gemäß der vierten Ausführungsform die Daten des Lesepuffers 9, wenn der Schreibsteuerabschnitt 8a die Daten, die in den Schreibpuffer 8 geschrieben werden, an das Kommunikationsmodul 3 überträgt. Die CPU 2 erneuert die Daten des Lesepuffers 9 in dem Fall des Lesens und Schreibens von Daten mit dem Kommunikationsmodul 3 durch den Umgehungspfad. Die CPU 2 kann somit unmittelbar die Daten, die in den Schreibpuffer 8 geschrieben und an den anderen Kommunikationsknoten übertragen werden, die Daten, die direkt an den anderen Kommunikationsknoten übertragen werden, oder die Daten, die direkt von dem anderen Kommunikationsknoten empfangen werden, in dem Lesepuffer 9 reflektieren.
  • (Fünfte Ausführungsform)
  • Gemäß einer fünften Ausführungsform, die in 12 gezeigt ist, ist der Mikrocomputer 1 mit zwei Kommunikationsbussen 4A, 4B verbunden. Die periphere Schaltung 12 ist mit dem Kommunikationsbus 4A verbunden, und die periphere Schaltung 13 ist mit dem Kommunikationsbus 4B verbunden. Der Mikrocomputer 1 enthält zwei Kommunikationsmodule 3A, 3B und zwei Zugriffsfolgensteuerabschnitte 10A, 10B entsprechend den jeweiligen Kommunikationsbussen 4A, 4B. Die Zugriffsfolgensteuerabschnitte 10A, 10B bilden zusammen mit einem Kommunikations-ID-Decodierer (Kommunikationsdecodierer) 52 einen Teil eines Kommunikationsauswahlabschnitts 53.
  • Der Kommunikations-ID-Decodierer 52 wechselt zwischen den eingegebenen Adressen und Datenbussen durch Auswählen eines Satzes aus dem Zugriffsfolgensteuerabschnitt 10A und dem Kommunikationsmodul 3A oder eines Satzes aus dem Zugriffsfolgensteuerabschnitt 10B und dem Kommunikationsmodul 3B entsprechend dem Adresswert, der von der CPU 2, dem Lesesteuerabschnitt 11 und Ähnlichem ausgegeben wird, um das Ziel der Kommunikation zu bestimmen. Der Kommunikationsbus kann entsprechend der Anzahl der Sätze der Kommunikationsmodule 3A, 3B in drei oder mehr Busse 4A, 4B unterteilt sein, und der Zugriffsfolgensteuerabschnitt 10A, 10B kann drei oder mehr betragen.
  • Gemäß der fünften Ausführungsform sind, wie es oben beschrieben wurde, mehrere Kommunikationsmodule 3A, 3B und mehrere Zugriffsfolgensteuerabschnitte 10A, 10B vorgesehen. Der ID-Decodierer 52 bestimmt entsprechend dem Ziel der Kommunikation, das von der CPU 2 oder dem Lesesteuerabschnitt 11 bestimmt wird, welcher Satz aus einem Kommunikationsmodul 3A, 3B und einem Zugriffsfolgensteuerabschnitt 10A, 10B verwendet wird.
  • (Sechste Ausführungsform)
  • Gemäß einer sechsten Ausführungsform, die in 13 gezeigt ist, enthält der Mikrocomputer 1 mehrere CPUs 2A, 2B und Ähnliches, und es sind mehrere DMA-Steuerungen (Hosts) 62A, 62B und Ähnliches mit dem CPU-Bus 20 verbunden. Somit wird eine Multi-Host-Konfiguration geschaffen. Das Recht der Verwendung des CPU-Busses 20 wird durch einen Busregulierungsabschnitt 63 reguliert. Eine Schaltung, der das Recht zur Verwendung gegeben wird, darf auf den Schreibpuffer 8 und den Lesepuffer 9 durch die Host-Schnittstelle 5 zugreifen. Gemäß der sechsten Ausführungsform, die wie oben beschrieben aufgebaut ist, kann der erfindungsgemäße Mikrocomputer 1 sogar in einem Fall, in dem mehrere Hosts vorgesehen sind, bereitgestellt werden.
  • Die oben beschriebenen Ausführungsformen können wie folgt modifiziert werden.
  • Ein Schreiben von Daten in den Schreibpuffer 8, die erzeugt werden, während Daten an den Lesepuffer 9 übertragen werden, und eine Verarbeitung, die mit Priorität für den Zugriff über den Umgehungspfad durchgeführt wird, können nach Bedarf durchgeführt werden. Wenn eine ausreichende Zeit für den Lesesteuerabschnitt 11 zum Übertragen von Daten zu dem Lesepuffer 9 sicher bereitgestellt wird, ist die Konfiguration der dritten Ausführungsform nicht notwendig. Der Host muss nicht die CPU 2 oder die DMA-Steuerung 62 sein, sondern kann beispielsweise ein DSP sein. Die Datenbusgröße, die Speicherkapazität, die Datenübertragungsgeschwindigkeit und Ähnliches können entsprechend einem jeweiligen Entwurf geändert werden.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP 2009-289232 A [0002]

Claims (8)

  1. Mikrocomputer, der ein Kommunikationsmodul (3) zum Durchführen einer Kommunikation mit einem anderen Knoten (12, 13), der mit einem Kommunikationsnetzwerk verbunden ist, enthält, wobei der Mikrocomputer aufweist: einen Host (2, 2A, 2B, 62A, 62B), der mindestens eine CPU (2) enthält; einen Lesepuffer (9), der zwischen dem Kommunikationsmodul und dem Host vorgesehen ist, so dass der Host Daten ausliest; einen Schreibpuffer (8), in den der Host Daten schreibt; einen Lesesteuerabschnitt (11), der periodisch eine Kommunikationsanforderung an das Kommunikationsmodul ausgibt, so dass das Kommunikationsmodul Daten, die von dem anderen Knoten empfangen werden, an den Lesepuffer überträgt, wobei die Kommunikationsanforderung für ein Datenleseziel vorgesehen ist; einen Schreibsteuerabschnitt (8a), der die Daten, die in den Schreibpuffer geschrieben werden, als Übertragungsdaten an das Kommunikationsmodul überträgt; einen Umgehungszugriffssteuerabschnitt (7), der den Host steuert, um ein Lesen und Schreiben von Daten direkt mit dem Kommunikationsmodul ohne Verwendung des Lesepuffers und des Schreibpuffers durchzuführen; und einen Zugriffsfolgensteuerabschnitt (10), der eine Folge von Zugriffen des Lesesteuerabschnitts, des Schreibsteuerabschnitts und des Umgehungszugriffssteuerabschnitts auf das Kommunikationsmodul steuert.
  2. Mikrocomputer nach Anspruch 1, wobei der Zugriffsfolgensteuerabschnitt (10) eine Übertragung von Daten unterbricht und bewirkt, dass der Host ein Schreiben von Daten in den Schreibpuffer mit Priorität durchführt, wenn der Host eine Anforderung zum Schreiben in den Schreibpuffer erzeugt, während der Lesesteuerabschnitt Daten an den Lesepuffer überträgt.
  3. Mikrocomputer nach Anspruch 1 oder 2, wobei der Zugriffsfolgensteuerabschnitt (10) eine Übertragung von Daten unterbricht und bewirkt, dass der Host einen Zugriff auf das Kommunikationsmodul mit Priorität durchführt, wenn der Host eine Anforderung zum Zugriff auf das Kommunikationsmodul erzeugt, die durch den Umgehungszugriffssteuerabschnitt durchgeführt wird, während der Lesesteuerabschnitt Daten an den Lesepuffer überträgt.
  4. Mikrocomputer nach Anspruch 2 oder 3, wobei der Lesesteuerabschnitt (11) ein Prioritätssignal zum Zugreifen auf das Kommunikationsmodul mit Priorität ausgibt, wenn eine verbleibende Zeit der Periode eine Zeitgrenze erreicht, die bereitgestellt wird, um die Übertragung von Daten innerhalb einer Periode in dem Fall der Übertragung der Daten, die das Kommunikationsmodul empfängt, an den Lesepuffer zu beenden; und der Zugriffsfolgensteuerabschnitt (10) als Antwort auf das Prioritätssignal dem Lesesteuerabschnitt erlaubt, auf das Kommunikationsmodul mit Priorität über der Anforderung der Übertragung von Daten durch den Schreibsteuerabschnitt und den Umgehungszugriffssteuerabschnitt an das Kommunikationsmodul zuzugreifen.
  5. Mikrocomputer nach einem der Ansprüche 1 bis 4, der außerdem aufweist: einen Datenerneuerungsabschnitt (11), der die Daten des Lesepuffers in dem Fall der Übertragung der Daten, die in den Schreibpuffer geschrieben werden, an das Kommunikationsmodul erneuert.
  6. Mikrocomputer nach einem der Ansprüche 1 bis 5, der außerdem aufweist: einen Datenerneuerungsabschnitt (11), der die Daten des Lesepuffers in dem Fall des Lesens und Schreibens von Daten mit dem Kommunikationsmodul durch einen Umgehungspfad erneuert.
  7. Mikrocomputer nach einem der Ansprüche 1 bis 6, wobei der Lesesteuerabschnitt (9) die Kommunikationsanforderung in mehreren unabhängigen Perioden erzeugt; und der Zugriffsfolgensteuerabschnitt (10) eine andere Kommunikationsanforderung nach der Beendigung der Übertragung von Daten, die durchgeführt wird, akzeptiert, wenn die andere Kommunikationsanforderung der anderen Periode erzeugt wird, während der Lesesteuerabschnitt die Übertragung von Daten an den Lesepuffer als Antwort auf irgendeine der Kommunikationsanforderungen durchführt.
  8. Mikrocomputer nach einem der Ansprüche 1 bis 7, wobei ein weiteres jeweiliges Kommunikationsmodul (3) und ein weiterer jeweiliger Zugriffsfolgensteuerabschnitt (10) für jeden weiteren Kommunikationsknoten, der mit dem Kommunikationsnetzwerk verbunden ist, vorgesehen sind; und ein Kommunikationsdecodierer (52) vorgesehen ist, um entsprechend einem Kommunikationsziel, das von dem Host oder dem Lesesteuerabschnitt bestimmt wird, zu bestimmen, welcher Satz aus einem Kommunikationsmodul und einem Zugriffsfolgensteuerabschnitt verwendet wird.
DE201210202174 2011-02-28 2012-02-14 Mikrocomputer Withdrawn DE102012202174A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011-42175 2011-02-28
JP2011042175A JP5304815B2 (ja) 2011-02-28 2011-02-28 マイクロコンピュータ

Publications (1)

Publication Number Publication Date
DE102012202174A1 true DE102012202174A1 (de) 2012-08-30

Family

ID=46635335

Family Applications (1)

Application Number Title Priority Date Filing Date
DE201210202174 Withdrawn DE102012202174A1 (de) 2011-02-28 2012-02-14 Mikrocomputer

Country Status (3)

Country Link
US (1) US9015272B2 (de)
JP (1) JP5304815B2 (de)
DE (1) DE102012202174A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8972628B2 (en) * 2013-01-11 2015-03-03 Hewlett-Packard Development Company, L.P. Expandable wireless storage device for streaming a multi-media file
CN107003966B (zh) * 2014-12-05 2020-01-14 三菱电机株式会社 写入许可电路、访问切换电路以及模拟数字变换单元
JP2017162399A (ja) * 2016-03-11 2017-09-14 東芝メモリ株式会社 記憶装置
JP7198716B2 (ja) 2019-04-24 2023-01-04 三菱マヒンドラ農機株式会社 汎用コンバイン
CN112148644B (zh) * 2019-06-27 2024-05-07 伊姆西Ip控股有限责任公司 处理输入/输出请求的方法、装置和计算机程序产品

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009289232A (ja) 2008-06-02 2009-12-10 Renesas Technology Corp 半導体集積回路

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4882702A (en) * 1986-03-31 1989-11-21 Allen-Bradley Company, Inc. Programmable controller with I/O expansion module located in one of I/O module positions for communication with outside I/O modules
JPS63141117A (ja) * 1986-12-04 1988-06-13 Oki Electric Ind Co Ltd カレンダタイマインタフエ−ス方式
US5305446A (en) * 1990-09-28 1994-04-19 Texas Instruments Incorporated Processing devices with improved addressing capabilities, systems and methods
JPH06224913A (ja) * 1992-05-14 1994-08-12 Digital:Kk データ伝送用アダプタおよびデータ伝送システム
JPH0736372A (ja) * 1993-07-15 1995-02-07 Matsushita Electric Works Ltd プログラマブルコントローラ用の操作表示装置
JPH09200215A (ja) * 1996-01-16 1997-07-31 Fujitsu Ltd 非同期型データ転送方式
JP2000014144A (ja) 1998-06-24 2000-01-14 Tdk Corp スイッチング電源装置
US6167489A (en) * 1998-12-22 2000-12-26 Unisys Corporation System and method for bypassing supervisory memory intervention for data transfers between devices having local memories
JP2001236304A (ja) 2000-02-21 2001-08-31 Mitsubishi Electric Corp マイクロコンピュータ
JP2003345520A (ja) * 2002-05-24 2003-12-05 Hitachi Ltd ディスクアレイ・システム及びディスクアレイ・システムにおけるキャッシュ制御方法
JP2004054527A (ja) * 2002-07-18 2004-02-19 Fujitsu Ltd データ転送制御装置およびデータ転送制御方法
DE102006055514A1 (de) * 2006-05-24 2007-11-29 Robert Bosch Gmbh Gateway zum Datentransfer zwischen seriellen Bussen
US8086793B2 (en) * 2007-02-16 2011-12-27 Mediatek Inc. Optical disc recorder and buffer management method thereof
US8026678B2 (en) 2007-03-30 2011-09-27 Brother Kogyo Kabushiki Kaisha Motor control device
JP4453712B2 (ja) * 2007-03-30 2010-04-21 ブラザー工業株式会社 設定方法及びモータ制御装置
JP2010282405A (ja) * 2009-06-04 2010-12-16 Renesas Electronics Corp データ処理システム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009289232A (ja) 2008-06-02 2009-12-10 Renesas Technology Corp 半導体集積回路

Also Published As

Publication number Publication date
US9015272B2 (en) 2015-04-21
US20120221679A1 (en) 2012-08-30
JP5304815B2 (ja) 2013-10-02
JP2012181573A (ja) 2012-09-20

Similar Documents

Publication Publication Date Title
DE69722117T2 (de) Einheitliche Speicherarchitektur mit dynamischer Grafikspeicherzuordnung
DE102006002526B4 (de) Steuervorrichtung für eine Solid-State-Disk und Verfahren zum Betreiben derselben
DE3838240C2 (de)
DE102013016993B4 (de) Embedded Multimedia Card (eMMC), einen Host steuernde eMMC und Verfahren zum Betreiben eines eMMC-Systems
DE3685876T2 (de) Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher.
DE69933328T2 (de) Mehrweg-Cachespeichervorrichtung und Verfahren
DE102013110085A1 (de) Host zum Steuern einer nicht-flüchtigen Speicherkarte, System mit demselben sowie Verfahren zum Betreiben des Hosts und des Systems
DE10296959T5 (de) System und Verfahren zum Steuern der Buszuteilung während Cache-Speicher-Burstzyklen
DE2523372B2 (de) Eingabe-ZAusgabe-Anschlußsteuereinrichtung
DE112018005427T5 (de) Autonome adress-/befehls-chip-synchronisierte datenchip-adress-ablaufsteuerung für ein verteiltes pufferspeichersystem
DE102013104198A1 (de) Multi-CPU-System und Computersystem mit demselben
DE102013113262B4 (de) Auslöser-Leitwegeinheit
DE3885985T2 (de) Speichersteueranordnung für ein Daten verarbeitendes System.
DE112013001213T5 (de) Datentransfereinrichtung, Datentransferverfahren und Datentransferprogramm
DE112005000219T5 (de) Verfahren und Vorrichtung zum Verwalten von Speicherzugriffsanforderungen
DE102012202174A1 (de) Mikrocomputer
DE10323458A1 (de) Speichersystem, das einen schnellen Prozessorbetrieb gestattet, während ein Flash-Speicher verwendet wird, bei dem kein Direktzugriff möglich ist
DE102008008196A1 (de) Speicherkarte, Speichersystem und Verfahren zum Betreiben eines Speichersystems
DE102013018135B4 (de) Adressenbit-Wiederabbildungsschema zur Reduzierung einer Zugriffsauflösung von DRAM-Zugriffen
DE602004012310T2 (de) Speicherschnittstelle für systeme mit mehreren prozessoren und einem speichersystem
DE112010005609T5 (de) Speichern von Daten in einem einer Mehrzahl von Puffern in einer Speichersteuerung
DE112019002100T5 (de) Zugriff auf dram durch wiederverwendung von pins
DE112020003004T5 (de) Dma-scatter- und gather-operationen für nicht zusammenhängenden speicher
DE102015203202B4 (de) Speicher-Subsystem mit auf ein Wrapped-Lesen folgendem kontinuierlichen Lesen
DE19900251B4 (de) Vorrichtung und Verfahren zum Steuern eines vielseitigen USB-Endpunktkanals

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R012 Request for examination validly filed

Effective date: 20141009

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee