DE112020005072T5 - DATA PROCESSING ESTABLISHMENT - Google Patents
DATA PROCESSING ESTABLISHMENT Download PDFInfo
- Publication number
- DE112020005072T5 DE112020005072T5 DE112020005072.6T DE112020005072T DE112020005072T5 DE 112020005072 T5 DE112020005072 T5 DE 112020005072T5 DE 112020005072 T DE112020005072 T DE 112020005072T DE 112020005072 T5 DE112020005072 T5 DE 112020005072T5
- Authority
- DE
- Germany
- Prior art keywords
- result
- time
- processing unit
- memory resource
- processing
- 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.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 105
- 238000000034 method Methods 0.000 claims abstract description 202
- 230000008569 process Effects 0.000 claims abstract description 185
- 230000003111 delayed effect Effects 0.000 claims abstract description 11
- 238000013461 design Methods 0.000 abstract description 27
- 230000004043 responsiveness Effects 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 238000011161 development Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000006399 behavior Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 230000006866 deterioration Effects 0.000 description 2
- BUHVIAUBTBOHAG-FOYDDCNASA-N (2r,3r,4s,5r)-2-[6-[[2-(3,5-dimethoxyphenyl)-2-(2-methylphenyl)ethyl]amino]purin-9-yl]-5-(hydroxymethyl)oxolane-3,4-diol Chemical compound COC1=CC(OC)=CC(C(CNC=2C=3N=CN(C=3N=CN=2)[C@H]2[C@@H]([C@H](O)[C@@H](CO)O2)O)C=2C(=CC=CC=2)C)=C1 BUHVIAUBTBOHAG-FOYDDCNASA-N 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0842—Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1008—Correctness of operation, e.g. memory ordering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Advance Control (AREA)
- Memory System (AREA)
- Multi Processors (AREA)
Abstract
In einer Datenverarbeitungseinrichtung wird basierend auf einem Verfahren eines Zeitsteuerungsentwurfs vom Zeitsynchronisationstyp die Reaktionsfähigkeit verbessert. Eine Datenverarbeitungseinrichtung enthält mehrere Verarbeitungseinheiten, die ein Speicherbetriebsmittel gemeinsam verwenden, wobei jede der Verarbeitungseinheiten periodisch einen Prozess in einem vorgegebenen Zeitabstand ausführt, wobei in einem Fall, in dem ein erster Prozess einer spezifischen Verarbeitungseinheit ein Ergebnis eines zweiten Prozesses einer weiteren Verarbeitungseinheit, der dem ersten Prozess vorausgeht, verwendet, wenn das Schreiben des Ergebnisses des zweiten Prozesses der weiteren Verarbeitungseinheit in das Speicherbetriebsmittel nicht zu einem Zeitpunkt innerhalb des vorgegebenen Zeitabstands beendet ist, eine Startzeit des ersten Prozesses der spezifischen Verarbeitungseinheit bis zu einem Zeitpunkt, zu dem das Ergebnis des zweiten Prozesses der weiteren Verarbeitungseinheit in das Speicherbetriebsmittel geschrieben wird, verzögert wird, so dass das Ergebnis des zweiten Prozesses in dem ersten Prozess der spezifischen Verarbeitungseinheit verwendet wird. In a data processing device, responsiveness is improved based on a method of time synchronization type timing design. A data processing device includes a plurality of processing units that share a memory resource, each of the processing units periodically executing a process at a predetermined time interval, wherein in a case where a first process of a specific processing unit is a result of a second process of another processing unit corresponding to the first process, if the writing of the result of the second process of the further processing unit to the memory resource is not completed at a point in time within the predetermined time interval, uses a start time of the first process of the specific processing unit until a point in time when the result of the second process of the further processing unit is written into the memory resource is delayed so that the result of the second process is used in the first process of the specific processing unit.
Description
Technisches Gebiettechnical field
Die vorliegende Erfindung bezieht sich auf eine Datenverarbeitungseinrichtung.The present invention relates to a data processing device.
Stand der TechnikState of the art
In den letzten Jahren ist bei der Entwicklung eines eingebetteten Systems, das eine industrielle elektronische Steuereinheit (ECU) unterstützt, eine Belastung einer Anwendung gestiegen, beispielsweise wegen der Verbesserung der Steuerleistung, der Einhaltung strengerer Vorschriften und einer Zunahme der Steuerungsarithmetikverarbeitung gemäß einem autonomen Betrieb einer Vorrichtung. Um dem zu entsprechen, steigt auch die Leistung der Hardware in der ECU, wie z. B. mehrere Kerne oder viele Kerne.In recent years, in the development of an embedded system that supports an industrial electronic control unit (ECU), a load on an application has increased due to, for example, improvement in control performance, compliance with stricter regulations, and an increase in control arithmetic processing according to autonomous operation of a device . To match this, the performance of the hardware in the ECU, such as B. multiple cores or many cores.
Andererseits ist es hinsichtlich der Entwicklung von Software, die auf einer solchen Hochleistungs-Hardware aufbaut, erforderlich, Software zu entwickeln, die den vorstehend beschriebenen mehreren Kernen oder vielen Kernen entspricht, und es ist zunehmend komplizierter, solche Software zu entwerfen, zu entwickeln und zu verifizieren. Dies liegt daran, dass beispielsweise bei der Entwicklung eines Mehrkernprozessors, anders als bei der Entwicklung eines Einzelkernprozessors, mehrere Kerne auf einen Bus, einen Speicher und einen Cache zugreifen, die gemeinsam verwendete Betriebsmittel sind, und somit ein Softwareverhalten gemäß einem Zustand des Prozessors, wenn die Software ausgeführt wird, leicht geändert werden kann.On the other hand, with regard to the development of software built on such high-performance hardware, it is required to develop software corresponding to the multiple cores or many cores described above, and it is increasingly complicated to design, develop and maintain such software to verify. This is because, for example, when developing a multi-core processor, unlike when developing a single-core processor, multiple cores access a bus, memory and cache, which are shared resources, and thus software behavior according to a state of the processor when the software is running, can be easily modified.
Zusätzlich sind, selbst wenn ein solches Problem gelöst ist und die Kommerzialisierung fertiggestellt ist, Prozessoren hinsichtlich Parametern (Busbreite, Speichergröße, Cache-Größe), die die gemeinsam verwendeten Betriebsmittel betreffen, voneinander verschieden. Daher ist es nicht einfach, das Ergebnis der Entwicklung eines speziellen Prozessors gleichermaßen auf einen anderen Prozessor zu übertragen, und ähnlich steigt die Anzahl der Prozesse für Entwurf, Entwicklung und Verifizierung an.In addition, even when such a problem is solved and commercialization is completed, processors are different from each other in parameters (bus width, memory size, cache size) concerning shared resources. Therefore, it is not easy to transfer the result of development of a specific processor equally to another processor, and similarly, the number of processes for design, development and verification increases.
Als Maßnahme gegen eine derartige Verkomplizierung der Prozessorkonfiguration und die daraus resultierende Erhöhung der Anzahl der Entwicklungsprozesse wurde 2018 ein Paradigma für die logische Ausführungszeit (LET) für den Zeitsteuerungsentwurf, das ein Verfahren für den Zeitsteuerungsentwurf vom Zeitsynchronisationstyp ist, der „AUTomotive Open System ARchitecture“ (AUTOSAR), die ein Standard für die fahrzeuginterne Software-Architektur ist, neu hinzugefügt.In 2018, as a countermeasure against such processor configuration complication and the resulting increase in the number of development processes, a logical execution time (LET) paradigm for timing design, which is a timing synchronization type timing design method, the “AUTomotive Open System ARchitecture” ( AUTOSAR), which is a standard for in-vehicle software architecture, was newly added.
Dieses Verfahren ist dadurch gekennzeichnet, dass die Zeitpunkte in einem vorgelagerten Prozess entworfen werden und die Middleware die entworfene Zeitsteuerung bei der Ausführung befolgt, was eine Zunahme der Anzahl der Entwicklungs- und Verifizierungsmuster, die durch eine Kombination von Prozessorzuständen verursacht werden, verhindert und zu einer Reduzierung der Anzahl der Prozesse beiträgt.This method is characterized in that the timings are designed in an upstream process and the middleware follows the designed timing in execution, which prevents an increase in the number of development and verification patterns caused by a combination of processor states and leads to one reducing the number of processes.
Zusätzlich kann, was die Übertragung einesAdditionally, what the transfer of a
Zeitsteuerungsentwurfsergebnisses zwischen unterschiedlichen Prozessoren betrifft, ein Ergebnis des Zeitsteuerungsentwurfs für einen speziellen Prozessor gleichermaßen auf einen weiteren Prozessor übertragen werden, wenn es in Bezug auf die Leistung zufriedenstellend ist.timing design result between different processors, a result of the timing design for a particular processor may be equally transferred to another processor if it is satisfactory in terms of performance.
PTL1stellt ein Entwurfsverfahren bereit, in dem ein Verhalten ähnlich demjenigen bei der Ausführung des vorstehend genannten Entwurfsverfahrens erwartet wird. In einem in PTL 1 offenbarten Planungsverfahren werden mehrere verkettete Prozesselemente in eine erste Prozesselementgruppe und eine zweite Prozesselementgruppe unterteilt. Die erste Prozesselementgruppe wird beispielsweise durch einen ersten Prozessor periodisch ausgeführt, und die zweite Prozesselementgruppe wird beispielsweise durch einen zweiten Prozessor periodisch zu einem Zeitpunkt mit einer Verzögerung von einem Zyklus gegenüber der ersten Prozesselementgruppe ausgeführt.PTL1 provides a design method in which behavior similar to that when the above design method is executed is expected. In a planning method disclosed in
Entgegenhaltungslistecitation list
Patentliteraturpatent literature
PTL 1:
Zusammenfassung der ErfindungSummary of the Invention
Technische AufgabeTechnical task
Indessen wird in einem solchen Verfahren, selbst wenn eine Verzögerung aufgrund einer Variation in der Verarbeitungszeit in Bezug auf das einmal bestimmte Zeitsteuerungsentwurfsergebnis auftritt, ein Verhalten entsprechend dem vorgegebenen Zeitsteuerungsentwurf angenommen. Das heißt beispielsweise, dass selbst wenn bei der Fertigstellung des vorhergehenden Prozesses eine Verzögerung in zwei aufeinanderfolgenden Prozessen (dem vorhergehenden Prozess und dem nachfolgenden Prozess) auftritt, die Ausführung des nachfolgenden Prozesses gestartet wird, ohne zu warten, bis der vorhergehende Prozess fertiggestellt ist.Meanwhile, in such a method, even if a delay occurs due to a variation in the processing time with respect to the timing design result once determined, a behavior corresponding to the given timing design is assumed. That is, for example, even if there is a delay in two consecutive processes (the preceding process and the succeeding process) in the completion of the preceding process, the execution of the succeeding process is started without waiting for the preceding process to be completed.
In einer solchen Situation wird, da der nachfolgende Prozess unter Bezugnahme auf einen Speicherbereich, der ein Berechnungsergebnis des vorhergehenden Prozesses speichert, gestartet wird, wenn der vorhergehende Prozess nicht fertiggestellt ist, der nachfolgende Prozess basierend auf einem Prozessfertigstellungsergebnis des vorherigen Zyklus gestartet. In einem Fall, in dem ein solches Verarbeitungssystem eingesetzt wird, insbesondere in Verbindung mit einer Vorrichtung, bei der ein Risiko einer Verzögerung, die aus einer Änderung des Belastungszustands der Kommunikation mit einem externen Endgerät oder dergleichen wie z. B. einem Sensor oder einer weiteren ECU besteht, tritt ein Risiko auf, dass ein Eingabeergebnis aus einem vorherigen Zyklus verwendet wird, was zu einer Verschlechterung der Reaktionsfähigkeit auf den Sensor oder die externe Eingabe führt.In such a situation, since the subsequent process with reference to a memory memory area storing a calculation result of the previous process, when the previous process is not completed, the subsequent process is started based on a process completion result of the previous cycle. In a case where such a processing system is employed, particularly in connection with an apparatus where there is a risk of a delay resulting from a change in the load state of communication with an external terminal or the like such as e.g. B. a sensor or another ECU, there is a risk that an input result from a previous cycle is used, resulting in deterioration of the responsiveness to the sensor or the external input.
Die vorliegende Erfindung wurde im Hinblick auf das vorstehend beschriebene Problem gemacht und es ist eine Aufgabe der vorliegenden Erfindung, eine Datenverarbeitungseinrichtung basierend auf einem Verfahren zum Zeitsteuerungsentwurf vom Zeitsynchronisationstyp, das die Reaktionsfähigkeit verbessern kann, bereitzustellen.The present invention has been made in view of the above-described problem, and an object of the present invention is to provide a data processing device based on a time synchronization type timing design method which can improve responsiveness.
Lösung der Aufgabesolution of the task
Gemäß einem Aspekt der vorliegenden Erfindung zum Lösen der vorgenannten Aufgabe enthält eine Datenverarbeitungseinrichtung mehrere Verarbeitungseinheiten, die ein Speicherbetriebsmittelgemeinsam verwenden, wobei jede der Verarbeitungseinheiten periodisch einen Prozess in einem vorgegebenen Zeitabstand ausführt, wobei in einem Fall, in dem ein erster Prozess einer spezifischen Verarbeitungseinheit ein Ergebnis eines zweiten Prozesses einer weiteren Verarbeitungseinheit, der dem ersten Prozess vorausgeht, verwendet, wenn das Schreiben des Ergebnisses des zweiten Prozesses der weiteren Verarbeitungseinheit in das Speicherbetriebsmittel nicht zu einem Zeitpunkt innerhalb des vorgegebenen Zeitabstands beendet ist, eine Startzeit des ersten Prozesses der spezifischen Verarbeitungseinheit bis zu einem Zeitpunkt, zu dem das Ergebnis des zweiten Prozesses der weiteren Verarbeitungseinheit in die Speicherressource geschrieben wird, verzögert wird, so dass das Ergebnis des zweiten Prozesses in dem ersten Prozess der spezifischen Verarbeitungseinheit verwendet wird.According to an aspect of the present invention to achieve the above object, a data processing device includes a plurality of processing units sharing a memory resource, each of the processing units periodically executing a process at a predetermined time interval, wherein in a case where a first process of a specific processing unit produces a result of a second process of a further processing unit preceding the first process, if the writing of the result of the second process of the further processing unit to the memory resource is not completed at a time within the predetermined time interval, a start time of the first process of the specific processing unit up to a point in time at which the result of the second process of the further processing unit is written into the memory resource is delayed, so that the result of the second process is stored in d is used in the first process of the specific processing unit.
Vorteilhafte Effekte der ErfindungAdvantageous Effects of the Invention
Gemäß der vorliegenden Erfindung ist es möglich, eine Datenverarbeitungseinrichtung basierend auf einem Verfahren für den Zeitsteuerungsentwurf vom Zeitsynchronisationstyp zu realisieren, die in der Lage ist, die Reaktionsfähigkeit zu verbessern.According to the present invention, it is possible to realize a data processing device based on a time synchronization type timing design method capable of improving responsiveness.
Figurenlistecharacter list
-
[
1 ]1 ist ein Diagramm, das eine Konfiguration einer Datenverarbeitungseinrichtung gemäß einer ersten Ausführungsform zeigt.[1 ]1 12 is a diagram showing a configuration of a data processing device according to a first embodiment. -
[
2 ]2 ist ein Diagramm, das ein Beispiel für eine Operation in jedem Prozess basierend auf einem Zeitsteuerungsentwurf vom Zeitsynchronisationstyp zeigt.[2 ]2 14 is a diagram showing an example of an operation in each process based on a time synchronization type timing design. -
[
3 ]3 ist ein Diagramm, das eine Operation zeigt, wenn bei der Beendigung eines vorhergehenden Prozesses in dem Zeitsteuerungsentwurf vom Zeitsynchronisationstyp eine Verzögerung auftritt.[3 ]3 Fig. 14 is a diagram showing an operation when a delay occurs in the termination of a preceding process in the time synchronization type timing draft. -
[
4 ]4 ist ein Diagramm, das eine Operation in jedem Prozess basierend auf dem Zeitsteuerungsentwurf vom Zeitsynchronisationstyp gemäß der ersten Ausführungsform zeigt.[4 ]4 14 is a diagram showing an operation in each process based on the time synchronization type timing design according to the first embodiment. -
[
5 ]5 ist ein Ablaufplan zum Erläutern der Operation der Datenverarbeitungseinrichtung gemäß der ersten Ausführungsform.[5 ]5 Fig. 12 is a flowchart for explaining the operation of the data processing device according to the first embodiment. -
[
6 ]6 ist ein Diagramm, das eine Verarbeitungskonfiguration einer Anwendung zeigt, die in einer zweiten Ausführungsform angenommen ist.[6 ]6 Fig. 12 is a diagram showing a processing configuration of an application adopted in a second embodiment. -
[
7 ]7 ist ein Diagramm, das ein Beispiel einer Operation in jedem Prozess basierend auf dem Zeitsteuerungsentwurf vom Zeitsynchronisationstyp gemäß der zweiten Ausführungsform zeigt.[7 ]7 14 is a diagram showing an example of an operation in each process based on the time synchronization type timing design according to the second embodiment. -
[
8 ]8 ist ein Diagramm, das ein weiteres Beispiel einer Operation in jedem Prozess basierend auf dem Zeitsteuerungsentwurf vom Zeitsynchronisationstyp gemäß der zweiten Ausführungsform zeigt.[8th ]8th 14 is a diagram showing another example of an operation in each process based on the time synchronization type timing design according to the second embodiment. -
[
9 ]9 ist ein Diagramm, das noch ein weiteres Beispiel einer Operation in jedem Prozess basierend auf dem Zeitsteuerungsentwurf vom Zeitsynchronisationstyp gemäß der zweiten Ausführungsform zeigt.[9 ]9 14 is a diagram showing still another example of an operation in each process based on the time synchronization type timing design according to the second embodiment.
Beschreibung von AusführungsformenDescription of Embodiments
Nachstehend werden Ausführungsformen der vorliegenden Erfindung mit Bezug auf die Zeichnungen beschrieben. Es wird darauf hingewiesen, dass die nachstehend beschriebenen Ausführungsformen die beanspruchte Erfindung nicht einschränken und dass alle in den Ausführungsformen beschriebenen Elemente und Kombinationen davon für die Lösung der Erfindung nicht notwendigerweise wesentlich sind.Embodiments of the present invention will be described below with reference to the drawings. It is pointed out that the embodiments described below do not limit the claimed invention and that all elements described in the embodiments and combinations thereof are not necessarily essential for the solution of the invention.
Es wird darauf hingewiesen, dass Abschnitte, die die gleichen Funktionen in den Zeichnungen aufweisen, zum Beschreiben der Ausführungsformen durch die gleichen Bezugszeichen bezeichnet werden und ihre Beschreibung nicht wiederholt wird.It is noted that portions having the same functions in the drawings are used to describe the embodiments ment forms are denoted by the same reference numerals and their description is not repeated.
In der folgenden Beschreibung kann als Beispiel für Daten ein Ausdruck wie „xxx Daten“ verwendet sein. In diesem Fall können die Daten irgendeine Datenstruktur aufweisen. Das heißt, um anzugeben, dass die Daten nicht von der Datenstruktur abhängen, können „xxx Daten“ als „xxx Tabelle“ bezeichnet sein. Darüber hinaus können „xxx Daten“ einfach als „xxx“ bezeichnet sein. In der folgenden Beschreibung ist die Konfiguration jeder Dateneinheit ein Beispiel, und die Daten können in aufgeteilter Form gehalten werden oder können in kombinierter Form gehalten werden.In the following description, a phrase such as "xxx data" may be used as an example of data. In this case the data can have any data structure. That is, to indicate that the data does not depend on the data structure, "xxx data" may be referred to as "xxx table". Additionally, "xxx data" may be simply denoted as "xxx". In the following description, the configuration of each data unit is an example, and the data can be held in a divided form or can be held in a combined form.
Erste AusführungsformFirst embodiment
Der Prozessor 1 ist ein Mehrkernprozessor, der mehrere CPU-Kerne 2 enthält. In einem solchen Prozessor wird hauptsächlich eine mehrstufige Cache-Konfiguration verwendet, die einen Ebene-1-Cache (L1-Cache) 21, der in jedem der CPU-Kerne 2 enthalten ist, und einen Ebene-2-Cache (L2-Cache) 22, der von mehreren Kernen gemeinsam verwendet wird, enthält und wurde entwickelt, um die Effizienz der Befehlsausführung in jedem Kern zu verbessern. Jeder der CPU-Kerne 2 ist über einen internen Bus 3 mit einem externen Speicher 4 oder einem Sensor 5 außerhalb des Prozessors 1 verbunden. Es wird darauf hingewiesen, dass der Einfachheit halber eine genaue interne Konfiguration (verschiedene Mechanismen und genaue Busstruktur) des Mehrkernprozessors 1 weggelassen ist. In der folgenden Beschreibung werden der L2-Cache 22 und der externe Speicher 4 als gemeinsam verwendete Speicher im Sinne von Speicherbetriebsmitteln, die von den einzelnen CPU-Kernen 2 gemeinsam verwendet werden, bezeichnet.The
In einem Fall, in dem eine Anwendung auf einem solchen Mehrkernprozessor 1 ausgeführt wird, wenn die Anwendungsverarbeitung durch den tatsächlichen gleichzeitigen Betrieb der CPU-Kerne 2 ausgeführt wird, sind die mehreren CPU-Kerne 2 von einer Änderung der Verarbeitungseffizienz entsprechend einem Zugriffskonflikt in Bezug auf den L2-Cache 22 oder den externen Speicher 4, der ein gemeinsam verwendetes Betriebsmittel ist, einer auf den internen Bus 3 angewandten Belastung und einer Änderung der Cache-Trefferrate für den L2-Cache 22 abhängig von der Verwendung des Speichers in mehreren Prozessen betroffen.In a case where an application is executed on such a
Deshalb ändern sich der Status und die Reihenfolge der Anwendungsverarbeitung und die Speicherzugriffszeitsteuerung entsprechend einer Änderung des Zustands (eines Status des L2-Cache 22 und eines Belastungsstatus des internen Busses 3) des Prozessors, der nicht nur in Abhängigkeit von der vordefinierten Reihenfolge, in der jede Anwendung ausgeführt wird, sondern auch der Operation jeder Anwendung dynamisch variiert.Therefore, the status and order of application processing and memory access timing change according to a change in the state (an
Darüber hinaus ist es, da eine Anwendung vorhanden ist, deren Operationszeitsteuerung unsicher ist, wie z. B. die Unterbrechungsverarbeitungszeitsteuerung, notwendig, die Anwendung auf dem Prozessor 1 im Hinblick auf den annehmbaren Zustand des Prozessors 1 zu entwickeln, zu debuggen und zu verifizieren, und es gibt Bedenken hinsichtlich der Verkomplizierung jeder Arbeit und einer Zunahme der Anzahl der Prozesse.In addition, since there is an application whose operation timing is uncertain, such as B. the interrupt processing timing, necessary to develop, debug and verify the application on the
Zusätzlich ändert sich in einem Fall, in dem eine auf einem speziellen Prozessor 1 entworfene und verifizierte Anwendung auf einen weiteren Mehrkernprozessor übertragen wird, das Verhalten der Anwendung aufgrund des Einflusses der Änderung der Leistung wie z. B. Operationsgeschwindigkeit und Anzahl der CPU-Kerne, der Operationsgeschwindigkeit des Busses und der Breite des Busses und der Größe jedes Caches. Deshalb ist es nicht einfach, einen Entwurf für einen speziellen Prozessor 1 auf einen weiteren Mehrkernprozessor zu übertragen.In addition, in a case where an application designed and verified on a
Als ein Entwurfsverfahren unter Verwendung eines solchen Prozessors 1 und unter Berücksichtigung der Übertragung auf einen weiteren Mehrkernprozessor ist ein Entwurfsverfahren vom Zeitsynchronisationstyp bekannt. Gemäß dem Entwurfsverfahren vom Zeitsynchronisationstyp wird jede Anwendung so ausgeführt, dass ein Startzeitpunkt und ein Fertigstellungszeitpunkt der Anwendungsverarbeitung definiert sind.As a design method using such a
In der folgenden Beschreibung ist der Einfachheit halber angenommen, dass die Anwendungsverarbeitung zwei aufeinanderfolgende Prozesse (den vorhergehenden Prozess und den nachfolgenden Prozess) enthält, die jeweils in einem vorgegebenen Zyklus (in der vorliegenden Ausführungsform in dem gleichen Zyklus) betrieben werden. In dem vorhergehenden Prozess werden Daten aus einem Bereich A des gemeinsam verwendeten Speichers gelesen, eine Verarbeitung, die dem Zustand des Speichers entspricht, wird bei Empfangen einer Eingabe von dem Sensor 5 ausgeführt, und dann wird ein Verarbeitungsergebnis in dem Bereich B des gemeinsam verwendeten Speichers gespeichert. In dem nachfolgenden Prozess werden Daten aus dem Bereich B des gemeinsam verwendeten Speichers gelesen und in dem Bereich C (nicht gezeigt) des gemeinsam verwendeten Speichers gespeichert. Die A und B hinzugefügten Indizes sind Kennzeichen, die an A und B angebracht sind, um in den jeweiligen Bereichen des gemeinsam verwendeten Speichers gespeicherte Werte anzugeben. Zusätzlich gibt dieser Index eine Zuordnungsbeziehung zwischen einer Eingabe und einer Ausgabe an, so dass beispielsweise der Wert Bo auf der Basis der Eingabe Ao ausgegeben wird.In the following description, for the sake of simplicity, it is assumed that the application processing includes two consecutive processes (the preceding process and the succeeding process) each operated in a given cycle (the same cycle in the present embodiment). In the foregoing process, data is read from an area A of the shared memory, processing corresponding to the state of the memory is issued upon receiving an input from the
Die beiden Prozesse, die den vorhergehenden Prozess und den nachfolgenden Prozess enthalten, sind so konfiguriert, dass sie zu Beginn (z.B. T0 oder T1) (ein Abschnitt, der in der Zeichnung als „ein“ beschrieben ist) des vorgegebenen Zyklus (z.B. T0 bis T1 oder T1 bis T2) einen für die Berechnung erforderlichen Wert aus dem gemeinsam verwendeten Speicher lesen und am Ende (ein Abschnitt, der in der Zeichnung als „aus“ beschrieben ist) des Zyklus ein Berechnungsergebnis in den gemeinsam verwendeten Speicher schreiben. Die Berechnungsverarbeitung wird zu einem speziellen Zeitpunkt zwischen dem Lesen und dem Schreiben ausgeführt und nach einem Modell betrieben, das eine Startzeit (Datenlesen) und eine Fertigstellungszeit (Datenschreiben) der Anwendungsverarbeitung klar definiert.The two processes including the preceding process and the succeeding process are configured to start (e.g., T0 or T1) (a portion described as "on" in the drawing) of the given cycle (e.g., T0 to T1 or T1 to T2) reads a value required for the calculation from the shared memory and writes a calculation result to the shared memory at the end (a portion described as “off” in the drawing) of the cycle. The calculation processing is executed at a specific timing between reading and writing, and is operated according to a model that clearly defines a start time (data reading) and a completion time (data writing) of the application processing.
Mit einer solchen Verarbeitungskonfiguration ist es, obwohl es schwierig ist, einen Zeitpunkt, zu dem die Berechnungsverarbeitung tatsächlich ausgeführt wird, und einen Zustand des Prozessors zu der Zeit, zu der die Berechnungsverarbeitung tatsächlich ausgeführt wird, zu verifizieren, möglich, die Fertigstellung der Verarbeitung durch Konzentrieren auf den Zustand des Speichers an zwei Zeitpunkten, d. h. der Startzeit und der Endzeit des Zyklus, zu bestätigen. Zur gleichen Zeit wird durch Einschränkung einer Schnittstelle zwischen einem Prozess und einem weiteren Prozess auf Datensenden/empfangen über den gemeinsam verwendeten .Speicher die Verifizierung leichter ausgeführt, ohne dass eine Änderung der zwischen den Prozessen in dem verkomplizierten Zustand des Prozessors verwendeten Daten berücksichtigt werden muss. Basierend auf einem solchen Entwurfskonzept wird durch Regulieren der Verarbeitung, die an vorgegebenen Zeitpunkten gestartet und fertiggestellt werden soll, selbst wenn eine Anwendung auf einen weiteren Prozessor übertragen wird, erwartet, dass der Prozessor, auf den die Anwendung übertragen wird, die gleiche Operation ausführt, solange er ausreichende Verarbeitungsfähigkeit zum Ausführen der gleichen Verarbeitung besitzt. Auf diese Weise wird die Übertragbarkeit der Anwendung verbessert.With such a processing configuration, although it is difficult to verify a timing when the calculation processing is actually executed and a state of the processor at the time when the calculation processing is actually executed, it is possible to complete the processing by Focusing on the state of the memory at two points in time, i. H. the start time and the end time of the cycle. At the same time, by restricting an interface between one process and another process to data transmission/reception via the shared memory, verification is more easily performed without considering a change in data used between processes in the complicated state of the processor. Based on such a design concept, by regulating the processing to be started and completed at predetermined times even when an application is transferred to another processor, the processor to which the application is transferred is expected to perform the same operation, as long as it has sufficient processing ability to perform the same processing. This improves the portability of the application.
In einem in
Indessen kann in einer solchen Konfiguration eine Berechnungszeit in dem vorhergehenden Prozess aufgrund einer Verzögerung der Eingabe aus dem Sensor 5, die von einem Anstieg der Belastung des internen Busses 3 abhängig von einer Kommunikationsbedingung, einem weiteren Prozess oder ähnlichem herrührt, länger sein als erwartet.Meanwhile, in such a configuration, a calculation time in the foregoing process may be longer than expected due to a delay in input from the
In einem in
Um eine solche Verarbeitung zu realisieren, es ist notwendig, eine Technik zum gemeinsamen Verwenden von Daten zwischen dem vorhergehenden und dem nachfolgenden Prozess und eine Funktion zum Starten des nachfolgenden Prozesses einem OS oder einer Middleware hinzuzufügen. Die Technik zum gemeinsamen Verwenden von Daten zwischen dem vorhergehenden und dem nachfolgenden Prozess kann beispielsweise unter Verwendung von doppelter Pufferung realisiert werden.In order to realize such processing, it is necessary to add a technique for sharing data between the preceding and succeeding processes and a function for starting the succeeding process to an OS or a middleware. The technique for sharing data between the preceding and succeeding processes can be implemented using double buffering, for example.
Auf diese Weise ist es, während ein Anstieg der Anzahl von Prozessen für Entwurf, Entwicklung und Verifizierung unterdrückt wird und die Übertragbarkeit verbessert wird, was die Vorteile des Verfahrens mit Zeitsteuerungsentwurf vom Zeitsynchronisationstyp sind, möglich, die Reaktionsfähigkeit oder Verarbeitungsfertigstellungsleistung selbst dann zu verbessern, wenn die Beendigung des vorhergehenden Prozesses innerhalb eines zulässigen Bereichs, wie er für die Nachfrist entworfen ist, verzögert ist. In einem Fall jedoch, in dem der vorhergehende Prozess selbst innerhalb der Nachfrist in dem nachfolgenden Prozess nicht fertiggestellt wird, verschlechtert sich die Reaktionsfähigkeit ähnlich wie in dem herkömmlichen Verfahren.In this way, while an increase in the number of processes for design, development and verification is suppressed and portability is improved, which are the advantages of the time synchronization type timing design method, it is possible to improve responsiveness or processing completion performance even when the completion of the preceding process is delayed within an allowable range designed for the grace period. However, in a case where the preceding process is not completed even within the grace period in the succeeding process, the responsiveness deteriorates similarly to the conventional method.
Zuerst liest der Prozessor 1 notwendige Daten in den lokalen Speicher für den vorhergehenden Prozess (Schritt S500). Als Nächstes führt der Prozessor 1 einen vorhergehenden Prozess aus (Schritt S501).First, the
Als Nächstes bestimmt der Prozessor 1, ob die Beendigung des vorangegangenen Prozesses und das Schreiben von Daten in den gemeinsam verwendeten Datenspeicher bis zu einer Frist (einem Ende eines Berechnungsverarbeitungszyklus) fertiggestellt worden sind oder nicht (Schritt S502). Wenn die Bestimmung positiv ist (JA in Schritt S502), fährt die Verarbeitung zu Schritt S503 fort, und wenn die Bestimmung negativ ist (NEIN in. Schritt S502), fährt die Verarbeitung zu Schritt S506 fort.Next, the
In Schritt S503 liest der Prozessor 1 ein Verarbeitungsergebnis des vorhergehenden Prozesses in einen lokalen Speicher für den nachfolgenden Prozess. Als Nächstes führt der Prozessor 1 einen nachfolgenden Prozess aus (Schritt S504). Dann schreibt der Prozessor 1 ein Ergebnis des nachfolgenden Prozesses in den gemeinsam verwendeten Speicher (Schritt S505).In step S503, the
Andererseits verzögert der Prozessor 1 in Schritt S506 den Start des nachfolgenden Prozesses. Als Nächstes bestimmt der Prozessor 1, ob eine Zeit, um die sich die Fertigstellung des vorhergehenden Prozesses verzögert, innerhalb einer Nachfrist des nachfolgenden Prozesses ist oder nicht (Schritt S507). Wenn die Bestimmung positiv ist (JA in Schritt S507), fährt die Verarbeitung zu Schritt S508 fort, und wenn die Bestimmung negativ ist (NEIN in Schritt S507), fährt die Verarbeitung zu Schritt S511 fort.On the other hand, in step S506, the
In den Schritten S508 bis S510 wird eine ähnliche Verarbeitung wie in den Schritten S503 bis S505 ausgeführt.In steps S508 through S510, processing similar to that in steps S503 through S505 is executed.
Andererseits wird in Schritt S511 das frühere Verarbeitungsergebnis des vorhergehenden Prozesses in den lokalen Speicher für den nachfolgenden Prozess gelesen. Danach wird in den Schritten S512 und S513 eine ähnliche Verarbeitung wie in den Schritten S504 und S505 ausgeführt.On the other hand, in step S511, the previous processing result of the previous process is read into the local memory for the subsequent process. Thereafter, similar processing to steps S504 and S505 is executed in steps S512 and S513.
Es wird darauf hingewiesen, dass in der vorliegenden Ausführungsform das Ergebnis des vorhergehenden Prozesses in dem ab der Zeit T0 startenden Zyklus nicht in den gemeinsam verwendeten Speicher zu der Zeit T1 geschrieben werden kann und der Wert Bo, der ein Verarbeitungsergebnis am Ende des Zyklus zu der Zeit T1 ist, in den gemeinsamen Speicher überschrieben werden kann, ohne den vorhergehenden Prozess zu dem Zyklus, der ab der nächsten Zeit T1 startet, zu starten.It is noted that in the present embodiment, the result of the previous process in the cycle starting from the time T 0 cannot be written in the shared memory at the time T1, and the value Bo indicating a processing result at the end of the cycle of time T1 can be rewritten into the shared memory without starting the previous process to the cycle starting from the next time T1.
Alternativ wird in einer speziellen Verarbeitungskonfiguration die Verarbeitung des Zyklus der Zeit T0 zu der Zeit T1 zwangsweise beendet, und die Verarbeitung des nächsten Zyklus kann durch Lesen des Wertes Ao auf dem gemeinsam verwendeten Speicher gestartet werden. In diesem Fall kann die Verarbeitung mit Bo als Eingabe im nachfolgenden Prozess nicht ausgeführt werden. In einem solchen Fall findet, da die Anwendungsverarbeitung nicht wie erwartet ausgeführt wird, eine andere Beeinflussung des nachfolgenden Prozesses statt, und ein Problem, das von der vorstehend beschriebenen Verschlechterung der Reaktionsfähigkeit verschieden ist, tritt auf.Alternatively, in a special processing configuration, the processing of the cycle of time T0 is forcibly ended at time T1, and the processing of the next cycle can be started by reading the value Ao on the shared memory. In this case, the processing cannot be performed with Bo as input in the subsequent process. In such a case, since the application processing is not executed as expected, the subsequent process is affected differently, and a problem other than the above-described deterioration in responsiveness occurs.
Zweite AusführungsformSecond embodiment
In einer zweiten Ausführungsform, die ein Beispiel dafür ist, wenn die in der ersten Ausführungsform beschriebene Verarbeitungskonfiguration auf eine Steuervorrichtung, die die Verarbeitung für automatisiertes Fahren durchführt, angewandt wird, werden eine Konfiguration einer Sensorverarbeitungsanwendung und ein Verfahren zum Anwenden der Verarbeitung beschrieben.In a second embodiment, which is an example of when the processing configuration described in the first embodiment is applied to a control device that performs the automated driving processing, a configuration of a sensor processing application and a method of applying the processing will be described.
Die Konfiguration dieser Anwendung ist in
Für jeden der in dieser Anwendung enthaltenen Prozesse wird ein Kern zugewiesen, und eine Zeitsteuerung für die Ausführung wird entworfen, wie in
In dieser Ausführungsform sind fünf Prozesse, deren Start- und Fertigstellungszeiten voneinander verschieden sind, innerhalb eines Anwendungszyklus angeordnet. Beispielsweise wird der Prozess A zwischen zwei Zeitpunkten ausgeführt, so dass der Prozess zum Zeitpunkt T0 gestartet wird, um (Einkopieren) auszuführen, und zum Zeitpunkt T1 fertiggestellt wird, um Auskopieren auszuführen. Zusätzlich, da ein Ergebnis der aufeinanderfolgenden Prozesse B und C und ein Ergebnis des Prozesses D in dem Prozess E integriert werden, werden die Start-/Endzeiten der Prozesse B, C und D so bestimmt, dass der Start des Prozesses E rechtzeitig ausgeführt wird.In this embodiment, five processes whose start and finish times are different from each other are arranged within one application cycle. For example, the process A is executed between two times, so that the process is started at time T0 to execute (copy-in) and is completed at time T1 to execute copy-out. In addition, since a result of the consecutive processes B and C and a result of the process D are integrated in the process E, the start/end times of the processes B, C and D are determined so that the start of the process E is executed in time.
Hier kann in dem Prozess A, der ein Prozess zum Speichern eines Ergebnisses des Empfangens von Sensordaten in einem Speicher ist, obwohl eine Nachfrist wie entworfen vergeben ist, eine Verzögerung beim Ankommen der Daten auftreten, die von einem Status der Kommunikation zwischen der Steuervorrichtung und dem Sensor oder einem weiteren Kommunikationsstatus abhängig ist.Here, in the process A, which is a process for storing a result of receiving sensor data in a memory, although a grace period is given as designed, a delay in arrival of the data may occur depending on a status of communication between the control device and the Sensor or another communication status is dependent.
Indessen variieren die spätesten Startzeitpunkte der Prozesse B und D abhängig von Unterschieden in der Ausführungszeit und Fertigstellungszeit zwischen dem Prozess B und dem Prozess D. Es wird darauf hingewiesen, dass der späteste Startzeitpunkt ein Maximalwert der Zeitplanung ist, der für eine Startverzögerung in der Verarbeitungskonfiguration unter Berücksichtigung einer durch den Entwurf definierten Toleranz und einer Variation der Ausführungszeit zulässig ist.Meanwhile, the latest start times of the processes B and D vary depending on differences in execution time and completion time between the process B and the process D. It is noted that the latest start time is a maximum value of the schedule that allows for a start delay in the processing configuration Allowed for a tolerance defined by the design and a variation in execution time.
In einem solchen Fall, da dieselbe Sensoreingabe, die der Prozess A ergibt, in denselben Prozess E in zwei Steuerpfaden eingegeben wird, das heißt eine Pfad für die Prozesse B und C und einen Pfad für den Prozess D, kann es unerwünscht sein, dass die in den Prozessen B und C verwendeten Eingabedaten und die in dem Prozess D verwendeten Eingangsdaten voneinander verschieden sind.In such a case, since the same sensor input that process A gives is input to the same process E in two control paths, i.e. one path for processes B and C and one path for process D, it may be undesirable that the input data used in the processes B and C and the input data used in the process D are different from each other.
In einem solchen Fall, obwohl die Nachfrist (eine Zeitspanne bis zum spätesten Startzeitpunkt) für die Verzögerung des Starts des Prozesses D in Bezug auf die Verzögerung des Prozesses A länger ist als die für die Verzögerung des Starts des Prozesses B, ist der späteste Endzeitpunkt des in
Es wird darauf hingewiesen, dass dann, wenn der Prozess A selbst nach dem spätesten Endzeitpunkt des Prozesses A nicht fertiggestellt ist, der Prozess B und der Prozess D unter Verwendung eines früheren Verarbeitungsergebnisses (das heißt eines Ergebnisses des Empfangs von Sensordaten in einem früheren Zyklus) des Prozesses A gestartet werden.It is noted that if the process A is not completed even after the latest end time of the process A, the process B and the process D using a previous processing result (i.e., a result of receiving sensor data in a previous cycle) of process A can be started.
Obwohl die Erfindung durch den vorliegenden Erfinder basierend auf den Ausführungsformen spezifisch beschrieben worden ist, ist die vorliegende Erfindung nicht auf die vorstehend beschriebenen Ausführungsformen beschränkt, und es ist selbstverständlich, dass verschiedene Modifikationen vorgenommen werden können, ohne von der Kernaussage der vorliegenden Erfindung abzuweichen.Although the invention has been specifically described by the present inventor based on the embodiments, the present invention is not limited to the above-described embodiments, and it goes without saying that various modifications can be made without departing from the gist of the present invention.
Beispielsweise kann in der zweiten Ausführungsform die Verzögerung bei der Beendigung des Prozesses B beispielsweise verkettet mit der Verzögerung bei der Beendigung des Prozesses A auftreten. In einem solchen Fall können mehrere Implementierungsverfahren in Betracht gezogen werden. Beispielsweise kann die Startzeit des Prozesses C ebenfalls verzögert werden oder die Endezeit des Prozesses B kann fest sein.For example, in the second embodiment, the delay in completing process B may occur concatenated with the delay in completing process A, for example. In such a case, several implementation methods can be considered. For example, the start time of process C can also be delayed, or the end time of process B can be fixed.
Ferner kann jede der vorstehend beschriebenen Konfigurationen, Funktionen, Verarbeitungseinheiten, Verarbeitungsmittel und dergleichen durch Hardware realisiert werden, beispielsweise durch Entwerfen einer integrierten Schaltung für einen Teil davon oder für alle. Zusätzlich kann die vorliegende Erfindung auch durch einen Programmcode einer Software realisiert werden, die die Funktionen der Ausführungsformen realisiert. In diesem Fall wird ein Speichermedium, auf dem der Programmcode aufgezeichnet ist, in einem Computer bereitgestellt, und ein im Computer enthaltener Prozessor liest den im Speichermedium gespeicherten Programmcode. In diesem Fall realisiert der Programmcode selbst, der aus dem Speichermedium gelesen wird, die Funktionen der vorstehend beschriebenen Ausführungsformen, und der Programmcode selbst und das Speichermedium, das den Programmcode speichert, bilden die vorliegende Erfindung.Furthermore, any of the configurations, functions, processing described above Units, processing means and the like can be realized by hardware, e.g. by designing an integrated circuit for part or all of them. In addition, the present invention can also be realized by a program code of software that realizes the functions of the embodiments. In this case, a storage medium on which the program code is recorded is provided in a computer, and a processor included in the computer reads the program code stored in the storage medium. In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the program code itself and the storage medium storing the program code constitute the present invention.
Als ein Speichermedium zur Bereitstellung eines solchen Programmcodes wird beispielsweise eine flexible Platte, eine CD-ROM, eine DVD-ROM, eine Festplatte, ein Festkörperlaufwerk (SSD), eine optische Platte, eine magneto-optische Platte, eine CD-R, ein Magnetband, eine nichtflüchtige Speicherkarte, ein ROM oder dergleichen verwendet.As a storage medium for providing such a program code, for example, a flexible disk, a CD-ROM, a DVD-ROM, a hard disk, a solid state drive (SSD), an optical disk, a magneto-optical disk, a CD-R, a magnetic tape , a non-volatile memory card, a ROM or the like is used.
Zusätzlich kann der Programmcode zum Realisieren der in den vorliegenden Ausführungsformen beschriebenen Funktionen durch eine weiten Bereich von Programmen oder Skriptsprachen implementiert sein, z. B. Assembler, C/C++, Perl, Shell, PHP und Java (eingetragenes Warenzeichen).In addition, the program code for realizing the functions described in the present embodiments can be implemented by a wide range of programs or scripting languages, e.g. Assembler, C/C++, Perl, Shell, PHP and Java (registered trademark).
Darüber hinaus kann durch Verteilen des Programmcodes der Software, die die Funktionen der Ausführungsformen realisiert, über ein Netz der Programmcode in einem Speichermittel wie z. B. einer Festplatte oder einem Speicher des Computers oder in einem Speichermedium wie z. B. einer CD-RW oder einer CD-R gespeichert sein, und der in dem Computer enthaltene Prozessor kann den in dem Speichermittel oder in dem Speichermedium gespeicherten Programmcode lesen und ausführen.In addition, by distributing the program code of the software that realizes the functions of the embodiments over a network, the program code can be stored in a storage means such as a memory card. B. a hard drive or memory of the computer or in a storage medium such. B. a CD-RW or a CD-R, and the processor included in the computer can read and execute the program code stored in the storage means or in the storage medium.
Zusätzlich geben die Steuer- und Informationsleitungen in den vorstehend beschriebenen Ausführungsformen an, was für die Beschreibung als notwendig erachtet wird, und geben nicht alle Steuer- und Informationsleitungen auf dem Produkt an. Alle Konfigurationen können miteinander verbunden sein.Additionally, in the embodiments described above, the control and information lines indicate what is deemed necessary for the description and do not indicate all of the control and information lines on the product. All configurations can be interconnected.
BezugszeichenlisteReference List
- 11
- Mehrkernprozessormulti-core processor
- 22
- CPU-KernCPU core
- 2121
- L1-CacheL1 cache
- 2222
- L2-CacheL2 cache
- 33
- interner Businternal bus
- 44
- externer Speicherexternal storage
- 55
- Sensorsensor
ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDED IN DESCRIPTION
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.This list of documents cited by the applicant was generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.
Zitierte PatentliteraturPatent Literature Cited
- JP 2005043959 A [0009]JP2005043959A [0009]
Claims (8)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019216836A JP7428508B2 (en) | 2019-11-29 | 2019-11-29 | information processing equipment |
JP2019-216836 | 2019-11-29 | ||
PCT/JP2020/042368 WO2021106608A1 (en) | 2019-11-29 | 2020-11-13 | Information processing device |
Publications (1)
Publication Number | Publication Date |
---|---|
DE112020005072T5 true DE112020005072T5 (en) | 2022-08-04 |
Family
ID=76088869
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112020005072.6T Pending DE112020005072T5 (en) | 2019-11-29 | 2020-11-13 | DATA PROCESSING ESTABLISHMENT |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP7428508B2 (en) |
DE (1) | DE112020005072T5 (en) |
WO (1) | WO2021106608A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2023036264A (en) * | 2021-09-02 | 2023-03-14 | 日立Astemo株式会社 | Electronic system and electronic control apparatus |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005043959A (en) | 2003-07-22 | 2005-02-17 | Toshiba Corp | Scheduling method and information processing system |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009199462A (en) | 2008-02-22 | 2009-09-03 | Toyota Motor Corp | Multi-core processor and engine control apparatus using same |
JP2016113968A (en) * | 2014-12-16 | 2016-06-23 | アイシン精機株式会社 | Vehicular control device and control method |
-
2019
- 2019-11-29 JP JP2019216836A patent/JP7428508B2/en active Active
-
2020
- 2020-11-13 DE DE112020005072.6T patent/DE112020005072T5/en active Pending
- 2020-11-13 WO PCT/JP2020/042368 patent/WO2021106608A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005043959A (en) | 2003-07-22 | 2005-02-17 | Toshiba Corp | Scheduling method and information processing system |
Also Published As
Publication number | Publication date |
---|---|
WO2021106608A1 (en) | 2021-06-03 |
JP2021086512A (en) | 2021-06-03 |
JP7428508B2 (en) | 2024-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112005002403B4 (en) | Processor pipeline with constant throughput | |
DE112006002237T5 (en) | Method of self-initiating synchronization in a computer system | |
DE112005003243T5 (en) | System and method for cache coherency in a cache with different lengths for the cache locations | |
DE2847216A1 (en) | DATA PROCESSING SYSTEM WITH MULTIPROGRAM OPERATION | |
DE19729618C2 (en) | Microprocessor and multiprocessor system | |
DE102007046947A1 (en) | System and method for managing system management interrupts in a multi-processor computer system | |
DE102007060806A1 (en) | Rank-based memory read / write microinstruction scheduler | |
DE102014002510A1 (en) | Precise Exception Signaling for Multiple Data Architecture | |
DE112014000340T5 (en) | Prefetching data for a chip with a parent core and a scout core | |
DE112020003004T5 (en) | DMA SCATTER AND GATHER OPERATIONS FOR NONCONTINUOUS MEMORY | |
DE112019005584T5 (en) | ARITHMETIC CONTROL DEVICE | |
DE102020103521A1 (en) | Minimizing the use of hardware counters in triggered operations for collective communication | |
DE2556617A1 (en) | DATA PROCESSER FOR THE ROTATABLE MOVEMENT OF BITS OF A DATA WORD | |
DE112020000843T5 (en) | EXECUTING MULTIPLE DATA REQUESTS FROM MULTI-CORE PROCESSORS | |
DE102018202446A1 (en) | Method for modularizing a software architecture | |
DE112020005072T5 (en) | DATA PROCESSING ESTABLISHMENT | |
DE102004061339A1 (en) | Context-scheduling method for e.g. multithreaded microcontroller and/or micro processor system, involves executing scheduling of threads that are to be processed by multithreaded processor, based on index variables assigned by threads | |
DE4328909C2 (en) | Information processing system, information processor in an information processing system and interrupt controller in an information processing system | |
DE102016204970A1 (en) | Parallelization compilation method, parallelization complicator and vehicle device | |
DE112020004071T5 (en) | HANDLING INSTRUCTIONS FOR ACCUMULATION OF REGISTER RESULTS IN A MICROPROCESSOR | |
DE10303053A1 (en) | Data transmission method for use in a computer processor whereby data is transmitted between pipelines and a register file to minimize risk of data loss or corruption | |
DE112019000189T5 (en) | PROGRAM EXECUTION CONTROL METHOD AND VEHICLE CONTROL DEVICE | |
DE102015112250A1 (en) | Separation of nuclei | |
DE10228778B4 (en) | Hardware method for implementing atomic semaphore operations using code macros | |
DE102021131057A1 (en) | System and method for performing an operating system task for a vehicle |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed |