JP2013134680A - Information processing device, information processing system, and information processing method - Google Patents
Information processing device, information processing system, and information processing method Download PDFInfo
- Publication number
- JP2013134680A JP2013134680A JP2011285700A JP2011285700A JP2013134680A JP 2013134680 A JP2013134680 A JP 2013134680A JP 2011285700 A JP2011285700 A JP 2011285700A JP 2011285700 A JP2011285700 A JP 2011285700A JP 2013134680 A JP2013134680 A JP 2013134680A
- Authority
- JP
- Japan
- Prior art keywords
- address
- page
- information processing
- priority
- program
- 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
Images
Landscapes
- Memory System (AREA)
Abstract
Description
本発明は、車両などにおいてプログラムの実行に用いられる情報処理装置及び情報処理方法、及び上記情報処理装置を使用する情報処理システムに関する。 The present invention relates to an information processing apparatus and an information processing method used for executing a program in a vehicle or the like, and an information processing system using the information processing apparatus.
周知のように、車両にはナビゲーションシステムや各種制御装置等の情報処理装置が搭載されていることが多い。こうした情報処理装置は、提供する機能の増加や高性能化に伴って、プログラムの処理負荷の増加が避けられなくなるとともに、処理負荷の増加が招く処理速度や応答速度の低下によって、その利便性までもが低下することにもなりかねない。そこで、プログラムを複数に分割し、それら分割したプログラムを複数の情報処理装置に分散処理させることでプログラムの実行にかかる時間を短縮するとともに、情報処理システム全体としての処理速度や応答速度の低下を抑えて利便性の確保を図る技術なども提案されている。そして従来、こうした技術の一例として、分散処理させるプログラムを複数の情報処理装置に配置する上での最適化支援を行う技術が特許文献1に記載されている。
As is well known, an information processing device such as a navigation system and various control devices is often mounted on a vehicle. Such an information processing device cannot avoid increasing the processing load of the program along with the increase in the functions to be provided and the improvement in performance, and the convenience of the processing speed and response speed are reduced due to the increase in processing load. It can also lead to a decline. Therefore, the program is divided into a plurality of parts, and the divided programs are distributed to a plurality of information processing apparatuses, thereby reducing the time required for program execution and reducing the processing speed and response speed of the entire information processing system. Techniques to reduce convenience and ensure convenience have also been proposed. Conventionally, as an example of such a technique,
特許文献1に記載の装置では、分散処理させる複数のプログラム(アプリケーション)の各々を、ネットワークに接続された複数の情報処理装置(ノード)のいずれに配置させるべきかが算出される。このプログラム配置の算出では、プログラムの連携処理に要求される優先度とネットワークの通信処理上の優劣度とに基づき、連携処理の優先度が高いプログラム同士が通信処理上優良なネットワークにより通信される情報処理装置に配置されるように各プログラムの配置先が算出される。こうして算出された配置によれば、プログラムの適正な連携動作を通じて、分散アプリケーションシステムとしての全体的な動作の安定性の向上が図られるようになる。
In the apparatus described in
ところで近年、情報処理装置では、プログラムの確実かつ容易な書き換えも可能になってきているため、プログラムの機能向上や修正などに伴うプログラムの書き換えが多く行われる傾向にもある。このとき、書き換えの都度、特許文献1に記載の装置によってプログラムの配置を算出するにしても、プログラム全体を考慮した上で、書き換え対象プログラムにそのプログラムの連携処理に要求される優先度等を再設定しなければならないなど、その手間も無視できないものとなっている。
By the way, in recent years, information processing apparatuses have become capable of reliable and easy rewriting of programs, and therefore, there is a tendency that rewriting of programs accompanying the improvement or correction of functions of the program is often performed. At this time, even when the arrangement of the program is calculated by the apparatus described in
なお、こうした課題は、車両に搭載された情報処理装置のみならず、書き換え可能なプログラムを分散配置させようとする各種の情報処理装置においても概ね共通した課題となっている。 Such a problem is not only an information processing apparatus mounted on a vehicle but also a common problem in various information processing apparatuses that attempt to distribute rewritable programs.
本発明は、このような実情に鑑みなされたものであり、その目的は、プログラムの分散配置を、要求される機能に応じて容易かつ高効率に行うことのできる情報処理装置、及び情報処理方法、及び前記情報処理装置を使用する情報処理システムを提供することにある。 The present invention has been made in view of such circumstances, and an object of the present invention is to provide an information processing apparatus and an information processing method capable of easily and highly efficiently distributing programs according to required functions. And an information processing system using the information processing apparatus.
以下、上記課題を解決するための手段及びその作用効果について記載する。
上記課題を解決するため、請求項1に記載の発明は、演算装置で実行されるプログラムのアクセス先のメモリアドレスを仮想アドレスと物理アドレスとの間で変換するアドレス変換装置を備える情報処理装置であって、前記アドレス変換装置は、プログラムの実行に際して細分化されたプログラムの1単位であるページの前記演算装置による実行によってアクセスされるアドレスに所定の物理アドレスが含まれるか否かに基づいて当該実行されたページに分散配置の目安とする優先度を設定することを要旨とする。
Hereinafter, means for solving the above-described problems and the effects thereof will be described.
In order to solve the above problem, an invention according to
上記課題を解決するため、請求項10に記載の発明は、演算装置で実行されるプログラムのアクセス先のメモリアドレスを仮想アドレスと物理アドレスとの間で変換しつつ情報処理する情報処理方法であって、プログラムの実行に際して細分化されたプログラムの1単位であるページの前記演算装置による実行によってアクセスされるアドレスに所定の物理アドレスが含まれるか否かに基づいて当該実行されたページに分散配置の目安とする優先度を設定することを要旨とする。
In order to solve the above problem, an invention according to
演算装置にてプログラムが実行される際、そのプログラムがどのようにページとして分割されるか把握することは困難であるため、プログラム作成時にページに優先度を予め付すことは困難である。また、プログラム中に設定された条件により実行される命令が変化するプログラムの動作をプログラムの作成時の静的な状態で的確に評価することも容易ではない。 When a program is executed by an arithmetic device, it is difficult to grasp how the program is divided into pages, and therefore it is difficult to assign priorities to pages in advance when creating a program. In addition, it is not easy to accurately evaluate the operation of a program in which an instruction to be executed changes according to a condition set in the program in a static state when the program is created.
このような構成もしくは方法によれば、プログラムがページに分割され、演算装置で実行されている状態において各ページに優先度を付すことができるようになるため、プログラムを動的な作動に基づいて評価することができるようになる。つまり、所定の物理アドレスにアクセスするか否かに基づく優先度を動的かつ的確に各ページに付与することができるようになる。こうした優先度に基づいて、プログラムの分散配置を、現に要求される機能に応じて容易かつ高効率に行うことができるようになる。 According to such a configuration or method, since the program can be divided into pages and priorities can be given to each page in a state where the program is being executed by the arithmetic device, the program is based on dynamic operation. It becomes possible to evaluate. That is, priority based on whether or not to access a predetermined physical address can be dynamically and accurately assigned to each page. Based on these priorities, it is possible to easily and efficiently distribute programs according to the functions that are actually required.
また、所定の物理アドレスにアクセスするページには高い優先度を設定し、それ以外のページには低い優先度を設定するようにすることで、所定の物理アドレスにアクセスするページの処理を迅速にするようなこともできるようになる。 In addition, a high priority is set for a page accessing a predetermined physical address, and a low priority is set for other pages, so that a page accessing a predetermined physical address can be processed quickly. You can do things like that.
請求項2に記載の発明は、請求項1に記載の情報処理装置において、前記所定の物理アドレスは入出力インターフェースに対応するアドレスであることを要旨とする。
請求項11に記載の発明は、請求項10に記載の情報処理方法において、前記所定の物理アドレスを入出力インターフェースに対応するアドレスとすることを要旨とする。
The invention according to
The invention according to
このような構成もしくは方法によれば、ユーザの利便性に影響する機器等が接続される入出力インターフェースにアクセスするページに適切な優先度を付すことができる。ユーザの利便性を考慮すれば、特に入出力インターフェースの応答は迅速であることが好ましい。また優先度に基づけば、こうした入出力インターフェースにアクセスするページの処理状態、例えば処理に要する時間などを調整することができるようになる。 According to such a configuration or method, an appropriate priority can be given to a page that accesses an input / output interface to which a device or the like that affects user convenience is connected. Considering the convenience of the user, it is preferable that the response of the input / output interface is particularly quick. Further, based on the priority, it is possible to adjust the processing state of a page accessing such an input / output interface, for example, the time required for the processing.
請求項3に記載の発明は、請求項1又は2に記載の情報処理装置において、前記所定の物理アドレスにアクセスしたページからアクセスされる他のページに前記所定の物理アドレスにアクセスしたページに設定される優先度とは異なる優先度が設定されることを要旨とする。 According to a third aspect of the present invention, in the information processing apparatus according to the first or second aspect, a page accessed from the page accessing the predetermined physical address is set to another page accessed from a page accessed from the predetermined physical address. The gist is that a priority different from the priority to be set is set.
このような構成によれば、所定の物理アドレスにアクセスするページからアクセスされる他のページにも優先度を付すことができるとともに、当該他のページに付す優先度を先の所定の物理アドレスにアクセスするページに付す優先度と相違させることができるようになる。つまり、所定の物理アドレスへアクセスするページとの間に介在する他のページ数、いわゆる所定の物理アドレスまでの距離に応じてページに優先度を付すことができるようになる。これにより、所定の物理アドレスへアクセスするページ、及び、他のページを優先度に応じてメモリの配置を変えたりするようなことができるようにもなる。 According to such a configuration, priority can be given to other pages accessed from a page accessing a predetermined physical address, and the priority given to the other page is assigned to the previous predetermined physical address. The priority assigned to the page to be accessed can be made different. That is, priority can be given to a page according to the number of other pages interposed between pages accessing a predetermined physical address, that is, a distance to a so-called predetermined physical address. As a result, it is possible to change the memory arrangement of a page accessing a predetermined physical address and other pages according to the priority.
請求項4に記載の発明は、請求項3に記載の情報処理装置において、前記所定の物理アドレスにアクセスしたページには当該ページからアクセスされる他のページに設定される優先度よりも高い優先度が設定されることを要旨とする。 According to a fourth aspect of the present invention, in the information processing apparatus according to the third aspect, the page accessed to the predetermined physical address has a higher priority than the priority set to other pages accessed from the page. The gist is that the degree is set.
このような構成によれば、高い優先度が設定されたページを、例えば、応答性が高くなるように調整することができるようになる。これにより、例えば入出力インターフェースを用いる処理に関しての調整の幅が拡がり利便性が向上される。 According to such a configuration, a page set with a high priority can be adjusted, for example, so as to increase responsiveness. Thereby, for example, the range of adjustments related to processing using the input / output interface is expanded, and convenience is improved.
請求項5に記載の発明は、請求項1〜4のいずれか一項に記載の情報処理装置において、前記アドレス変換装置には、各ページに設定された優先度に応じてそれらページが配置される物理アドレスを変更する配置変更部が設けられており、前記各ページは、設定された優先度に応じて配置される物理アドレスが前記配置変更部により変更されることを要旨とする。 According to a fifth aspect of the present invention, in the information processing device according to any one of the first to fourth aspects, the page is arranged in the address translation device according to the priority set for each page. An arrangement changing unit for changing the physical address is provided, and the physical address of each page is changed according to the set priority by the arrangement changing unit.
このような構成によれば、各ページに対応する物理アドレスがそれらページに設定された優先度に応じて変更されるようになる。すなわち、優先度に応じて各ページの配置を変更することができるためページの好適な分散配置が可能にもなる。 According to such a configuration, the physical address corresponding to each page is changed according to the priority set for those pages. In other words, since the arrangement of each page can be changed according to the priority, a suitable distributed arrangement of pages can be achieved.
請求項6に記載の発明は、請求項5に記載の情報処理装置において、前記配置変更部は、前記優先度の高さに応じて前記演算装置からのアクセス時間が短くなるように各ページを配置させる物理アドレスを変更することを要旨とする。 According to a sixth aspect of the present invention, in the information processing apparatus according to the fifth aspect, the placement changing unit sets each page so that an access time from the arithmetic device is shortened according to the high priority. The gist is to change the physical address to be arranged.
このような構成によれば、各ページの配置が、優先度が高いページの応答性が高くなるように調整される。これにより、例えば入出力インターフェースを用いる処理に関する応答性が高くなりユーザの利便性が向上する。 According to such a configuration, the arrangement of each page is adjusted so that the responsiveness of a page having a high priority is increased. Thereby, for example, the responsiveness regarding the process using the input / output interface is increased, and the convenience for the user is improved.
請求項7に記載の発明は、請求項1〜6のいずれか一項に記載の情報処理装置において、前記情報処理装置は車両に搭載されていることを要旨とする。
このような構成によれば、車両に搭載される情報処理装置におけるプログラムのページの配置が、車載された各種装置に対応する入出力インターフェースへのアクセス態様に応じて定められるようになる。これにより、例えば車載されたマイクやスピーカなどにアクセスするページの優先度を高くしたりすることもできるとともに、当該優先度に応じてページを好適に配置するように調整することもできるようになる。
The gist of the invention according to claim 7 is the information processing apparatus according to any one of
According to such a configuration, the arrangement of the program pages in the information processing apparatus mounted on the vehicle is determined according to the access mode to the input / output interface corresponding to the various apparatuses mounted on the vehicle. As a result, for example, the priority of a page accessing a vehicle-mounted microphone or speaker can be increased, and the page can be adjusted so as to be suitably arranged according to the priority. .
請求項8に記載の発明は、請求項7に記載の情報処理装置において、前記車両は外部に設けられたサーバに無線通信を介して通信可能に構成されており、前記配置変更部は、前記優先度の低い又は設定されないページを前記サーバのメモリアドレスに配置させることを要旨とする。 The invention according to claim 8 is the information processing apparatus according to claim 7, wherein the vehicle is configured to be able to communicate with a server provided outside via wireless communication, The gist is to place a page with a low priority or not set at the memory address of the server.
このような構成によれば、優先度の低い又は設定されないページがサーバに配置されるようになるため、情報処理装置としてのプログラムの処理負荷が軽減されるようになるとともに、所定の物理アドレスに近いページは車両に配置して処理速度の維持を図るようにすることができるようになる。これにより、プログラムの処理負荷の増加が生じた場合であれ、ページを好適に分散配置させて、処理負荷の増加に対応することができるようになる。 According to such a configuration, low priority or non-set pages are arranged on the server, so that the processing load of the program as the information processing apparatus is reduced and a predetermined physical address is set. Close pages can be placed on the vehicle to maintain the processing speed. As a result, even when an increase in the processing load of the program occurs, it is possible to deal with an increase in the processing load by suitably distributing and arranging pages.
上記課題を解決するため、請求項9に記載の発明は、演算装置で実行されるプログラムのアクセス先のメモリアドレスを仮想アドレスと物理アドレスとの間で変換するアドレス変換装置を備える情報処理装置が車両に設けられるとともに、前記車両と無線通信を介して通信可能なサーバが車両の外部に設けられてなる情報処理システムであって、前記アドレス変換装置は、プログラムの実行に際して細分化されたプログラムの1単位であるページの前記演算装置による実行によってアクセスされるアドレスに所定の物理アドレスが含まれるか否かに基づいて当該実行されたページに分散配置の目安とする優先度を設定するものであって、この設定した優先度に応じて各ページの配置態様を変更する配置変更部を備え、前記配置変更部は、前記優先度の低い又は設定されないページを前記サーバのメモリアドレスに配置させることを要旨とする。 In order to solve the above-described problem, an information processing apparatus including an address conversion device that converts a memory address of an access destination of a program executed by an arithmetic device between a virtual address and a physical address. An information processing system provided in a vehicle and having a server capable of communicating with the vehicle via wireless communication provided outside the vehicle, wherein the address conversion device is a program that is subdivided when the program is executed. Based on whether or not a predetermined physical address is included in an address accessed by execution by the arithmetic unit of a page that is a unit, priority is set as an index of distributed arrangement on the executed page. And an arrangement change unit that changes the arrangement mode of each page according to the set priority, the arrangement change unit, Low or not set page of Sakido and gist be placed in the memory address of the server.
このような構成によれば、プログラムがページに分割され、演算装置で実行されている状態において各ページに優先度を付すことができるようになるため、プログラムを動的な作動に基づいて評価することができるようになる。つまり、所定の物理アドレスにアクセスするか否かに基づく優先度を動的かつ的確に各ページに付与することができるようになる。こうした優先度に基づいて、プログラムの分散配置を、現に要求される機能に応じて容易かつ高効率に行うことができるようになる。 According to such a configuration, since the program can be divided into pages and priority can be given to each page in a state where the program is executed by the arithmetic device, the program is evaluated based on dynamic operation. Will be able to. That is, priority based on whether or not to access a predetermined physical address can be dynamically and accurately assigned to each page. Based on these priorities, it is possible to easily and efficiently distribute programs according to the functions that are actually required.
また、所定の物理アドレスにアクセスするページには高い優先度を設定し、それ以外のページには低い優先度を設定するようにすることで、所定の物理アドレスにアクセスするページの処理を迅速にするようなこともできるようになる。 In addition, a high priority is set for a page accessing a predetermined physical address, and a low priority is set for other pages, so that a page accessing a predetermined physical address can be processed quickly. You can do things like that.
さらに、車両に搭載される情報処理装置におけるプログラムのページの配置が、車載された各種装置に対応する入出力インターフェースへのアクセス態様に応じて定められるようになる。これにより、例えば車載されたマイクやスピーカなどにアクセスするページの優先度を高くしたりすることもできるとともに、当該優先度に応じてページを好適に配置するように調整することもできるようになる。 Furthermore, the arrangement of the program pages in the information processing apparatus mounted on the vehicle is determined according to the access mode to the input / output interface corresponding to the various apparatuses mounted on the vehicle. As a result, for example, the priority of a page accessing a vehicle-mounted microphone or speaker can be increased, and the page can be adjusted so as to be suitably arranged according to the priority. .
また、優先度の低い又は設定されないページがサーバに配置されるようになるため、情報処理装置としてのプログラムの処理負荷が軽減されるようになるとともに、所定の物理アドレスに近いページは車両に配置して処理速度の維持を図るようにすることができるようになる。これにより、プログラムの処理負荷の増加が生じた場合であれ、ページを好適に分散配置させて、処理負荷の増加に対応することができるようになる。 In addition, since low priority or unset pages are arranged on the server, the processing load of the program as the information processing apparatus is reduced, and pages close to a predetermined physical address are arranged on the vehicle. Thus, the processing speed can be maintained. As a result, even when an increase in the processing load of the program occurs, it is possible to deal with an increase in the processing load by suitably distributing and arranging pages.
以下、本発明にかかる情報処理システムを具体化した一実施形態について、図に従って説明する。
図1に示すように、情報処理システムには、固定設備であるサーバ10と移動体としての車両20とが設けられている。
Hereinafter, an embodiment of an information processing system according to the present invention will be described with reference to the drawings.
As shown in FIG. 1, the information processing system is provided with a
サーバ10は、車両20の外部に設けられ、車両20に対して各種の情報やサービスを提供するためのものであって、車両20からの要求に応じて各種の情報やサービスを提供する。サーバ10は、例えば、道路交通情報を配信するサーバや、特定の顧客にのみサービスを提供するサーバなどであってもよい。サーバ10には、車両20との通信を可能にするサーバ通信装置11と、前述した各種の情報やサービスの提供に必要とされる各種処理を行うサーバ情報処理装置12と、サーバ情報処理装置12における各種処理に用いられるデータなどを保持するサーバ記憶装置13とが設けられている。
The
サーバ通信装置11は、サーバ情報処理装置12との間でデータ通信を行うことができるように該サーバ情報処理装置12に接続、例えばバス接続されているとともに、車両20との間で無線通信を介して相互にデータ通信を行うことができるようになっている。つまり、サーバ通信装置11は、サーバ情報処理装置12から入力されたデータを車両20に送信することができるとともに、車両20から受信したデータをサーバ情報処理装置12へ出力することができる。
The
サーバ情報処理装置12は、各種演算処理を実行するCPU、各種制御プログラムを格納するROM、データ格納やプログラム実行のためのワークエリアとして利用されるRAM、入出力(I/O)インターフェース、読み書き可能な不揮発性の内部記憶装置等を備えたマイクロコンピュータを中心に構成されている。ROMや内部記憶装置には、車両20の運転を支援するための各種プログラムや各種パラメータが予め記憶されている。そして、CPUによる各種パラメータを含む各種プログラムの実行処理に基づいて、各種の運転支援が車両20に提供される。
The server
サーバ記憶装置13は、読み書き可能な不揮発性の記憶装置としてのHDD(Hard Disk Drive)などから構成されており、サーバ情報処理装置12との間でデータ転送可能に該サーバ情報処理装置12に接続、例えばバス接続されている。サーバ記憶装置13には、サーバ情報処理装置12にて実行されるプログラムから利用される各種情報などが格納されている。また、サーバ記憶装置13に、車両20の運転を支援するための各種プログラムや各種パラメータが記憶されていてもよいし、車両20との間で分散処理されるプログラムの一部が記憶されていてもよい。
The server storage device 13 includes an HDD (Hard Disk Drive) or the like as a readable / writable nonvolatile storage device, and is connected to the server
さらにサーバ記憶装置13は、車載情報処理装置22の仮想メモリ領域として使用することができる。つまり、車載情報処理装置22におけるプログラムの実行の際に要するメモリとしての仮想メモリ領域をサーバ記憶装置13に確保することができるとともに、当該仮想メモリ領域のメモリアドレスにデータ等を配置することができるようになる。
Further, the server storage device 13 can be used as a virtual memory area of the in-vehicle
車両20は、ドライバーの運転操作により運転される自動車などであって運転支援などに用いられる車載情報処理装置22を備えている。車両20には、サーバ10との通信を可能にする車載通信装置21と、前述した運転支援を提供するために必要とする各種処理を行う車載情報処理装置22と、車載情報処理装置22における各種処理に用いられるデータなどを保持する車載記憶装置23とが設けられている。また車両20には、ドライバー等の音声が入力されるマイク24と、ドライバー等に音声を提供するスピーカ25と、車両速度を検出するセンサ26とが設けられている。
The
車載通信装置21は、車載情報処理装置22との間でデータ通信を行うことができるように該車載情報処理装置22に接続、例えばバス接続されているとともに、サーバ10との間で無線通信を介して相互にデータ通信を行うことができるようになっている。つまり、車載通信装置21は、車載情報処理装置22から入力されたデータをサーバ10へ送信するとともに、サーバ10から受信したデータを車載情報処理装置22へ出力する。
The in-
車載情報処理装置22は、例えば、車両20を運転するドライバーに対して提供する各種の運転支援に要する各種制御等を行うための装置であって、CPUや記憶装置等を備えるマイクロコンピュータを中心に構成されている。すなわち、車載情報処理装置22には、上記各種の運転支援に必要とされる各種演算処理を実行する演算装置としてのCPU30と、CPU30からアクセスされるメモリアドレスを管理するアドレス変換装置としてのメモリ管理ユニット(MMU)40とが設けられている。また、車載情報処理装置22には、メモリアドレスに対するデータの読み込みや書き込み、いわゆるアクセスを管理するメモリコントローラ50と、各種制御プログラムを格納する不揮発性メモリ(ROM)60と、データ格納やプログラム実行のためのワークエリアとして利用される揮発性メモリ(RAM)61とが設けられている。さらに、車載情報処理装置22には、車載情報処理装置22へ各種機器を接続させる入出力(I/O)インターフェース70が設けられている。
The in-vehicle
ROM60や車載記憶装置23などには、車両20の運転を支援するための各種プログラムや各種パラメータが記憶されている。そして、CPU30による各種パラメータを含む各種プログラムの実行処理に基づいて、各種の運転支援が車両20に提供される。本実施形態の車載情報処理装置22では、例えば、マイク24から入力される音声により操作可能なユーザインターフェースを有するプログラムや、スピーカ25を通じて音声を出力するプログラムなどが実行される。
Various programs and various parameters for supporting driving of the
車載記憶装置23は、読み書き可能な不揮発性の記憶装置としてのHDD(Hard Disk Drive)などから構成されており、車載情報処理装置22との間でデータ転送可能に該車載情報処理装置22に接続、例えばバス接続されている。車載記憶装置23には、車載情報処理装置22にて実行されるプログラムから利用される各種情報などが格納されている。また、車載記憶装置23に、車両20の運転を支援するための各種プログラムや各種パラメータが記憶されていてもよいし、サーバ10との間で分散処理されるプログラムの一部が記憶されていてもよい。さらに、車載記憶装置23は、車載情報処理装置22において仮想メモリ領域として使用することもできる。つまり、車載情報処理装置22によるプログラムの実行の際に要するメモリとしての仮想メモリ領域を車載記憶装置23に確保することができるとともに、当該仮想メモリ領域のメモリアドレスにデータ等を配置することができるようになる。
The in-
マイク24は、ドライバー等の音声を収集するために車両20の車内に設けられているものであり、収集された音声からなる音声データをCPU30へ出力することができる。こうして出力された音声データが音声認識されることで、その認識結果がプログラムに対する操作として反映させることができるようにもできる。
The
スピーカ25は、音や音声を発生する装置であり、CPU30からI/Oインターフェース70を介して入力された音声信号等に対応する音や音声が出力される。これにより車載情報処理装置22は運転支援にかかる情報などを、ドライバーへの注意を喚起するための音からなる注意音声や警報音などとして、このスピーカ25を介して出力することができる。
The
センサ26は、車両20の速度を検出するためのセンサであって、車両20の速度に基づく信号をI/Oインターフェース70に出力する。
CPU30は、OS31や各種プログラム32〜34の演算処理を行うとともに、MMU40やメモリコントローラ50にメモリアクセス可能に接続されている。CPU30は、OS31や各種プログラム32〜34の演算処理に基づいてアクセスする必要が生じたメモリアドレスにMMU40及びメモリコントローラ50を介してアクセスするとともに、そのアクセスを通じて該メモリアドレスに記憶されているデータを取得するようになっている。なお、CPU30では、メモリアドレスとしての仮想アドレス(論理アドレス)Vaの下でOS31や各種プログラム32〜34が実行されるようになっているため、CPU30により処理されるメモリアドレスにアクセスする各種の命令、いわゆるアクセス命令に含まれる仮想アドレスVaがアクセス先のアドレスとしてCPU30から出力される。
The sensor 26 is a sensor for detecting the speed of the
The
MMU40は、CPU30から入力された仮想アドレスVaをメモリアドレスとしての物理アドレスPaに変換するとともに、当該変換された物理アドレスPaに基づいてメモリコントローラ50にアクセスする。
The
MMU40には、仮想アドレスVaと物理アドレスPaとを対応付けたデーブルとしてのページテーブル41と、ページテーブル41を参照して仮想アドレスVaを物理アドレスPaに変換するアドレス変換部42とが設けられている。また、MMU40には、仮想アドレスVaへのアクセスを要求したページに対して、仮想アドレスVaを物理アドレスPaに変換したとき、当該変換された物理アドレスPaに基づいて当該ページに対して優先度を付す優先度設定部43が設けられている。さらに、MMU40には、ページと優先度とを対応付けたテーブルとしての優先度テーブル44と、優先度テーブル44に基づいてページのメモリ配置を変更するメモリ配置変更部45とが設けられている。
The
ページテーブル41には、図2に示すように、仮想アドレスVaと当該仮想アドレスVaに対応する物理アドレスPaとが対応付けられて記憶されている。ページテーブル41では、例えば、仮想アドレス「V1」は物理アドレス「P1」に、仮想アドレス「V2」は物理アドレス「P2」に、仮想アドレス「V3」は物理アドレス「P3」にそれぞれ対応付けられている。また、ページテーブル41では、例えば、仮想アドレス「V4」は物理アドレス「P4」に、仮想アドレス「V5」は物理アドレス「P5」に、仮想アドレス「V6」は物理アドレス「P6」にそれぞれ対応付けられている。さらに、ページテーブル41では、例えば、仮想アドレス「V11」は物理アドレス「P11」に、仮想アドレス「V41」は物理アドレス「P12」にそれぞれ対応付けられている。 As shown in FIG. 2, the page table 41 stores a virtual address Va and a physical address Pa corresponding to the virtual address Va in association with each other. In the page table 41, for example, the virtual address “V1” is associated with the physical address “P1”, the virtual address “V2” is associated with the physical address “P2”, and the virtual address “V3” is associated with the physical address “P3”. Yes. In the page table 41, for example, the virtual address “V4” is associated with the physical address “P4”, the virtual address “V5” is associated with the physical address “P5”, and the virtual address “V6” is associated with the physical address “P6”. It has been. Furthermore, in the page table 41, for example, the virtual address “V11” is associated with the physical address “P11”, and the virtual address “V41” is associated with the physical address “P12”.
なお、仮想アドレス「V1」は、「ページ番号」(例えば「001234」)と「オフセット」(例えば「0567」)とが組み合わされたアドレス(例えば「0012340567」)として構成されている。また、物理アドレス「P1」は、仮想アドレス「V1」に含まれる「ページ番号」から特定されるページテーブル41の位置に格納されている「変換アドレス」(例えば「004321」)と「オフセット」(例えば「0567」)とが組み合わされたアドレス(例えば「0043210567」)として構成されている。なお、仮想アドレスVaを物理アドレスPaに変換する方式などについては、上記の例に限られず、その他の公知の方式を採用することができる。 The virtual address “V1” is configured as an address (for example, “0012340567”) in which “page number” (for example, “001234”) and “offset” (for example, “0567”) are combined. Further, the physical address “P1” includes “translation address” (for example, “004321”) and “offset” (for example, stored in the position of the page table 41 identified from “page number” included in the virtual address “V1”. For example, “0567”) is combined as an address (for example, “0043210567”). The method for converting the virtual address Va into the physical address Pa is not limited to the above example, and other known methods can be employed.
アドレス変換部42は、ページテーブル41を参照して、CPU30から受けた仮想アドレスVaを対応する物理アドレスPaに変換するとともに、当該物理アドレスPaに基づいてメモリコントローラ50にアクセスする。
The
優先度設定部43は、アドレス変換部42が変換した後の物理アドレスPaが所定の物理アドレスとしてのI/Oアドレス51に含まれているか否かに基づいて、当該物理アドレスPaに変換された仮想アドレスVaをアクセス先としたページに優先度を設定する。また優先度設定部43は、ページに設定した優先度を当該ページに対応付けて優先度テーブル44に登録させる。例えば、優先度設定部43は、ページがアクセスする物理アドレスPaにI/Oアドレス51が含まれている場合、ページには優先度として、最高の優先度である「0」を設定する。また、例えば、優先度設定部43は、I/Oアドレス51を物理アドレスPaに含むページから呼び出されたページである場合、つまり優先度「0」が設定されているページから呼び出されたページである場合、当該呼び出されたページの優先度として、中程度の優先度である「1」を設定する。さらに、例えば、優先度設定部43は、物理アドレスPaにI/Oアドレス51を含まないとともに、物理アドレスPaにI/Oアドレス51を含むページから呼び出されていないページである場合、当該ページの優先度として、最低の優先度である「2」を設定する。なお、本実施形態では、プログラムを読み込んだ際、全てのページの優先度を最低の優先度である「2」に設定するため、優先度設定部43は、ページに設定しようとする新たな優先度が、既に設定されている優先度より高い場合、既に設定されている優先度を新たな優先度に置き換える。一方、優先度設定部43は、ページに設定しようとする新たな優先度が、既に設定されている優先度より低い場合、既に設定されている優先度を新たな優先度に置き換えない。
The
優先度テーブル44は、ページと当該ページに対応する優先度とが設定されている。優先度テーブル44では、例えば、ページ「#1」には優先度「0」が、ページ「#2」には優先度「2」が、ページ「#3」には優先度「1」が、ページ「#4」には優先度「0」が、ページ「#5」には優先度「2」が、ページ「#6」には優先度「2」がそれぞれ対応付けられて保持されている。 In the priority table 44, a page and a priority corresponding to the page are set. In the priority table 44, for example, the priority “0” is assigned to the page “# 1”, the priority “2” is assigned to the page “# 2”, and the priority “1” is assigned to the page “# 3”. The page “# 4” is associated with the priority “0”, the page “# 5” is associated with the priority “2”, and the page “# 6” is associated with the priority “2”. .
メモリ配置変更部45は、優先度テーブル44を参照して、各ページのメモリ配置を当該ページに設定された優先度に応じて変更させる機能を有し、CPU30からの「メモリの再配置命令」に基づいて、各ページを優先度に応じたメモリ配置に再配置させる。メモリ配置変更部45には、優先度に対応付けられた配置先のメモリが設定されており、例えば、優先度「0」のページはRAM61のメモリが配置先とされている。また、メモリ配置変更部45には、優先度「1」のページは車載記憶装置23の仮想メモリが配置先とされ、優先度「2」のページはサーバ記憶装置13の仮想メモリが配置先とされている。
The memory arrangement changing unit 45 has a function of changing the memory arrangement of each page according to the priority set for the page with reference to the priority table 44, and a “memory rearrangement instruction” from the
メモリコントローラ50は、接続されているROM60、RAM61、I/Oインターフェース70に設けられているメモリのアドレスに対応付けられた物理アドレスPaを管理している。また、メモリコントローラ50は、アクセス要求された物理アドレスPaに格納されているデータDaを対象とする当該物理アドレスPaから取得してCPU30へ出力する。これによりCPU30は仮想アドレスVaにアクセスすることで、当該仮想アドレスVaに対応する物理アドレスPaからアクセス要求したデータDaを取得することができる。
The memory controller 50 manages a physical address Pa associated with an address of a memory provided in the
メモリコントローラ50には、I/Oアドレス51と内部アドレス52とが物理アドレスとして管理されている。I/Oアドレス51は、I/Oインターフェース70の内部メモリに対応付けられた物理アドレスであることから、当該I/Oアドレス51へのアクセスがI/Oインターフェース70に接続された各機器との間のデータの授受を可能にさせる。内部アドレス52は、ROM60やRAM61のメモリに対応付けられた物理アドレスであるため、当該内部アドレス52へのアクセスが内部アドレス52に対応付けられたROM60やRAM61のメモリとの間のデータの授受を可能にさせる。
In the memory controller 50, an I /
I/Oインターフェース70には、通信バスを介して車載通信装置21や車載記憶装置23が接続されるとともに、入力端子を介してマイク24やセンサ26が接続され、出力端子を介してスピーカ25が接続されている。I/Oインターフェース70は、マイク24及びセンサ26から入力される電気信号をメモリコントローラ50からアクセス可能なデータに変換するとともに、メモリコントローラ50から受けたデータをスピーカ25へ入力可能な電気信号に変換してスピーカ25に提供する。
The I /
次に、図4を参照して、アドレス変換について説明する。
CPU30では、例えばプログラム32が実行されているとともに、実行されているプログラム32は第1〜第6のページ「#1」〜「#6」に分割されて管理されている。つまり、CPU30ではプログラム32の実行がページ単位で管理される。そしてCPU30では、プログラムに定められた実行順に従って分割された複数のページが順次実行されることでプログラムが実行される。なお、ページとは、CPU30において実行可能なプログラムの一部分であり、同実行可能なプログラムを所定のデータサイズにて細分化して得られたプログラムを1単位とする。プログラムが分割される所定のデータサイズ、つまりページのサイズは、例えば、4キロバイトである。
Next, address conversion will be described with reference to FIG.
In the
CPU30では、第1のページ「#1」が仮想アドレス「V1」に設定され、第2のページ「#2」が仮想アドレス「V2」に設定され、第3のページ「#3」が仮想アドレス「V3」に設定されている。また、CPU30では、第4のページ「#4」が仮想アドレス「V4」に設定され、第5のページ「#5」が仮想アドレス「V5」に設定され、第6のページ「#6」が仮想アドレス「V6」に設定されている。さらに、第1のページ「#1」には、マイク24からの入力に対応する仮想アドレス「V11」へのアクセス命令が含まれているとともに、第4のページ「#4」には、スピーカ25への出力に対応する仮想アドレス「V41」へのアクセス命令が含まれている。
In the
メモリコントローラ50には、例えば、CPU30で実行されるプログラム32の第1〜第6のページ「#1」〜「#6」に対応する物理アドレスが管理されている。具体的には、メモリコントローラ50では、第1のページ「#1」に対応する領域が物理アドレス「P1」に設定され、第2のページ「#2」に対応する領域が物理アドレス「P2」に設定され、第3のページ「#3」に対応する領域が物理アドレス「P3」に設定されている。また、メモリコントローラ50では、第4のページ「#4」に対応する領域が物理アドレス「P4」に設定され、第5のページ「#5」に対応する領域が物理アドレス「P5」に設定され、第6のページ「#6」に対応する領域が物理アドレス「P6」に設定されている。さらに、メモリコントローラ50では、マイク24からの入力に対応するアドレスとして物理アドレス「P11」が設定されているとともに、スピーカ25への出力に対応するアドレスとして物理アドレス「P12」が設定されている。なお、メモリコントローラ50では、物理アドレス「P1」〜「P6」は、内部アドレス52のうちのRAM61のメモリに確保されているメモリアドレスに割当てられている。
For example, physical addresses corresponding to the first to sixth pages “# 1” to “# 6” of the
MMU40では、CPU30から受けた仮想アドレスVaが、メモリコントローラ50が管理する物理アドレスPaにアドレス変換される。例えば、MMU40では、図2に示されるページテーブル41を参照することによりアドレス変換部42が行うアドレス変換T1によって仮想アドレス「V1」が物理アドレス「P1」に変換され、同アドレス変換T2によって仮想アドレス「V2」が物理アドレス「P2」に変換される。また、アドレス変換部42が行うアドレス変換T3によって仮想アドレス「V3」が物理アドレス「P3」に変換され、同アドレス変換T4によって仮想アドレス「V4」が物理アドレス「P4」に変換される。さらに、アドレス変換部42が行うアドレス変換T5によって仮想アドレス「V5」が物理アドレス「P5」に変換され、同アドレス変換T6によって仮想アドレス「V6」が物理アドレス「P6」に変換される。また、アドレス変換部42が行うアドレス変換T11によって仮想アドレス「V11」が物理アドレス「P11」に変換され、同アドレス変換T12によって仮想アドレス「V41」が物理アドレス「P12」に変換される。
In the
つまり、CPU30は仮想アドレス「V1」に基づいて物理アドレス「P1」へアクセスすることができ、仮想アドレス「V2」に基づいて物理アドレス「P2」へアクセスすることができ、仮想アドレス「V3」に基づいて物理アドレス「P3」へアクセスすることができる。また、CPU30は仮想アドレス「V4」に基づいて物理アドレス「P4」へアクセスすることができ、仮想アドレス「V5」に基づいて物理アドレス「P5」へアクセスすることができ、仮想アドレス「V6」に基づいて物理アドレス「P6」へアクセスすることができる。さらに、CPU30は仮想アドレス「V11」に基づいて物理アドレス「P11」へアクセスすることができ、仮想アドレス「V41」に基づいて物理アドレス「P12」へアクセスすることができる。
That is, the
続いて、ページへの優先度付与について図5を参照して説明する。
なおこの車載情報処理装置22では、プログラムの実行が開始されるとCPU30からメモリへのアクセスが生じる都度、MMU40によるアドレス変換が実行されるようになっている。
Next, giving priority to pages will be described with reference to FIG.
In the in-vehicle
CPU30は、プログラムの実行が開始されると、プログラムの処理に伴ってメモリアドレス等へアクセス命令を処理する(ステップS10)。例えば、アクセス命令は仮想アドレス「V1」へのアクセスを行うものとする。
When the execution of the program is started, the
仮想アドレス「V1」へのアクセスが開始されると、当該仮想アドレス「V1」がMMU40によりアドレス変換される。すなわち、仮想アドレス「V1」を受けたMMU40は、該仮想アドレス「V1」に基づいてページテーブル41を検索する、いわゆるエントリを検索する(ステップS20)。MMU40は、この検索の結果得られたページに対応するエントリの履歴を保存する(ステップS21)とともに、こうして得られたページに対応するエントリから仮想アドレス「V1」に対応する物理アドレス「P1」を取得する、つまり仮想アドレス「V1」を物理アドレス「P1」に変換する(ステップS22)。また、MMU40は、この仮想アドレス「V1」にアクセスしたページが、直前にI/Oアドレスにアクセスしたページまでに介在される他のページの数に応じて優先度を付すようにしている。例えば、優先度「0」が設定されているページから0〜2つの他のページ介するページには優先度「1」を設定し、同3つ以上の他のページを介するページには優先度「2」を設定するようにしている(ステップS23)。これにより、I/Oアドレスにアクセスするページまでの間に介在するページの数に応じて優先度を設定することができるようになる。そして、MMU40は、次のアドレスをアドレス変換すべくステップS30に戻る。
When access to the virtual address “V1” is started, the virtual address “V1” is converted by the
CPU30は、仮想アドレス「V1」がMMU40で物理アドレス「P1」に変換されることに伴い、そのアクセス命令のアクセス先が物理アドレス「P1」になるため、当該変換された物理アドレス「P1」から命令を読み込む、つまり命令をロードする(ステップS11)。これによりCPU30は、仮想アドレスVaに対応する物理アドレスPaにアクセスして当該物理アドレスPaから必要なデータを取得することができる。続いて、CPU30は、ロードされた命令が、データアクセス命令であるか否かを判断する(ステップS12)。ロードされた命令がデータアクセス命令ではなかった場合(ステップS12でNO)、CPU30は、次のアクセス命令を処理すべくステップS10に戻る。
As the virtual address “V1” is converted to the physical address “P1” by the
一方、ロードされた命令がデータアクセス命令であった場合(ステップS12でYES)、CPU30は当該データアクセス命令を処理する(ステップS13)。このとき、例えば、データアクセス命令は仮想アドレス「V11」へのアクセスを行うものとする。
On the other hand, if the loaded instruction is a data access instruction (YES in step S12), the
仮想アドレス「V11」へのアクセスが開始されると、当該仮想アドレス「V11」がMMU40によりアドレス変換される。すなわち、仮想アドレス「V11」を受けたMMU40は、該仮想アドレス「V11」に基づいてページテーブル41を検索する、いわゆるアドレスに対応するエントリの検索を実行する(ステップS30)。MMU40は、この検索の結果得られたエントリから仮想アドレス「V11」に対応する物理アドレス「P11」を取得する、つまり仮想アドレス「V11」を物理アドレス「P11」に変換する(ステップS31)。
When access to the virtual address “V11” is started, the virtual address “V11” is address-converted by the
CPU30は、仮想アドレス「V11」がMMU40で物理アドレス「P11」に変換されることに伴い、そのアクセス命令のアクセス先が物理アドレス「P11」になるため、当該変換された物理アドレス「P11」からデータを読み込む、つまりデータがロードされる(ステップS14)。これによりCPU30は、仮想アドレスVaに基づいて対応する物理アドレスPaにアクセスして当該物理アドレスPaから必要な情報を取得することができる。そしてCPU30は、次のアクセス命令を処理すべくステップS10に戻る。
As the virtual address “V11” is converted to the physical address “P11” by the
なお、MMU40は、ステップS31にて仮想アドレス「V11」を物理アドレス「P11」に変換すると、当該物理アドレス「P11」がI/Oアドレスであるか否かを判断する(ステップS32)。物理アドレス「P11」がI/Oアドレスであると判断された場合(ステップS32でYES)、MMU40は、優先度テーブル44に対して、このデータアクセス命令を含むページの優先度を最高値の「0」に設定する(ステップS33)。なお、このデータアクセス命令を含むページはステップS21で保存されたページの履歴に基づいて、ステップS21にて処理された最新のページであることとが分かるため、優先度テーブル44に対して、このデータアクセス命令のあったページに対して優先度を設定することは容易に行うことができる。そしてMMU40は、次のデータアドレスをアドレス変換すべくステップS30に戻る。一方、物理アドレス「P11」がI/Oアドレスではないと判断された場合(ステップS32でNO)、MMU40は、次のデータアドレスをアドレス変換すべくステップS30に戻る。
When the
この処理によって、図3に示すように、優先度テーブル44には、ページに対応する優先度が設定される。具体的には、アドレス変換T1に応じて第1のページ「#1」には優先度「0」が設定され、アドレス変換T2に応じて第2のページ「#2」には優先度「2」が設定され、アドレス変換T3に応じて第3のページ「#3」には優先度「1」が設定されるようになる。また、アドレス変換T4に応じて第4のページ「#4」には優先度「0」が設定され、アドレス変換T5に応じて第5のページ「#5」には優先度「2」が設定され、アドレス変換T6に応じて第6のページ「#6」には優先度「2」が設定されるようになる。 By this process, as shown in FIG. 3, the priority corresponding to the page is set in the priority table 44. Specifically, the priority “0” is set for the first page “# 1” according to the address translation T1, and the priority “2” is set for the second page “# 2” according to the address translation T2. ”Is set, and the priority“ 1 ”is set for the third page“ # 3 ”in accordance with the address translation T3. Further, the priority “0” is set for the fourth page “# 4” according to the address translation T4, and the priority “2” is set for the fifth page “# 5” according to the address translation T5. Accordingly, the priority “2” is set to the sixth page “# 6” in accordance with the address translation T6.
本実施形態の通信システムの作用について、図6及び図7を参照して説明する。
図6に示すように、車載情報処理装置22は、アプリケーションソフトウェアなどのプログラム32〜34の実行を開始すると、アクセス命令とデータアクセス命令との監視を開始する(ステップS40)とともに、当該監視の下で当該プログラムを一定時間動作させて各ページに優先度を付与させる(ステップS41)。つまり、各ページには、プログラムを一定時間動作させて得られるプログラムの動的な動作に基づいて優先度が付与される。例えば、各ページの優先度が、図3に示される優先度テーブル44のように設定されたものとする。
The operation of the communication system of this embodiment will be described with reference to FIGS.
As shown in FIG. 6, when the in-vehicle
ページへの優先度の付与が終了すると、車載情報処理装置22は、所定の条件に基づいて「メモリの再配置命令」を実行することにより、ページに付された優先度に応じて各ページの配置を変更する(ステップS42)。本実施形態では、各ページの配置先は、優先度が「0」の場合はRAM61のメモリ、優先度が「1」の場合は車載記憶装置23に設けられた仮想メモリ、優先度が「2」の場合はサーバ記憶装置13に設けられた仮想メモリにそれぞれ定められているものとする。これによれば、CPU30からのアクセス速度としては、優先度が「0」のときは最も速く、優先度が「1」のときは優先度「0」に比べて遅く、優先度が「2」のときは優先度「0」及び「1」に比べて遅くなるようになる。なお、「メモリの再配置命令」が実行される所定の条件とは、一定時間の経過により優先度の付与が終了したこと、かつ、CPU30の処理能力にメモリを再配置させる処理を行う余裕がある場合などである。また、車両20の走行状態などを条件としても良い。
When the assignment of the priority to the page is finished, the in-vehicle
そうすると車載情報処理装置22は、優先度テーブル44に従って、図7に示すように、第1及び第4のページ「#1」,「#4」は、それぞれRAM61に配置させ、第2,第5及び第6のページ「#2」,「#5」,「#6」はそれぞれサーバ記憶装置13に配置させ、第3のページ「#3」は車載記憶装置23に配置させる。つまり各ページは、優先度に基づいて、I/Oインターフェース70へアクセスするページを含めて、処理状態、例えば処理に要する時間などが調整されるようになる。なおページの仮想メモリへの配置や当該仮想メモリへ配置されたページへのアクセスなどは、OS31が有するメモリ管理機能などに基づいて実現される。
Then, the in-vehicle
このメモリの再配置により、I/Oアドレス51へアクセスするページはCPU30からのアクセス速度の速い位置に配置され、I/Oアドレス51へアクセスが少ないページはCPU30からのアクセス速度の速くない位置に配置されるようになる。従って、I/Oアドレス51に対応するアドレスを介してアクセスされるマイク24やスピーカ25などは、それらを通じてのユーザの操作や、ユーザへの情報提供に要する時間の遅延を少ないものとすることができるようになる。特に、マイクなどを通じてのユーザが入力した情報に対する車載情報処理装置22の応答に時間がかかると、ユーザを戸惑わせるようなことも生じるため、ユーザを戸惑わせるような処理についてはその配置位置をRAM61にして応答速度を高く維持し、ユーザを戸惑わせないような処理については応答速度を低下させることができるようにもなる。このように本発明の車載情報処理装置22によるプログラムのメモリの再配置によれば、プログラムを分散配置させつつ、装置のユーザなどに対する反応速度の低下を抑制させることができるようになる。
Due to the rearrangement of the memory, the page accessing the I /
また、プログラムの実際の動作に基づいて、動的に優先度を設定するようにしていることから、プログラムに予め優先度を設定するような手間を割愛することができるようになるとともに、静的評価では判断することのできない実行頻度などの状況も考慮されて優先度が設定されるようになる。このため、プログラムの分散配置がより好適かつ適正に行えるようになる。 In addition, since the priority is dynamically set based on the actual operation of the program, it is possible to eliminate the trouble of setting the priority in advance in the program, Priorities are set in consideration of situations such as execution frequency that cannot be determined by evaluation. For this reason, the program can be distributed and arranged more suitably and appropriately.
以上説明したように、本実施形態の情報処理システムによれば、以下に列記するような効果が得られるようになる。
(1)CPU30にてプログラム32〜34が実行される際、そのプログラム32〜34がどのようにページとして分割されるか把握することは困難であるため、プログラム作成時にページに優先度を予め付すことは困難である。また、プログラム中に設定された条件により実行される命令が変化するプログラムの動作をプログラムの作成時の静的な状態で的確に評価することも容易ではない。
As described above, according to the information processing system of this embodiment, the effects listed below can be obtained.
(1) When the
このような構成によれば、プログラム32がページに分割され、CPU30で実行されている状態において各ページに優先度を付すことができるようになるため、プログラム32を動的な作動に基づいて評価することができるようになる。つまり、所定の物理アドレスPa(I/Oアドレス51)にアクセスするか否かに基づく優先度を動的かつ的確に各ページに付与することができるようになる。こうした優先度に基づいて、プログラム32の分散配置を、現に要求される機能に応じて容易かつ高効率に行うことができるようになる。
According to such a configuration, since the
また、I/Oアドレス51にアクセスするページには高い優先度を設定し、それ以外のページには低い優先度を設定するようにすることで、I/Oアドレス51にアクセスするページの処理を迅速にするようなこともできるようになる。
In addition, by setting a high priority to a page that accesses the I /
(2)ユーザの利便性に影響するマイク24やスピーカ25などの機器等が接続されるI/Oインターフェース70にアクセスするページに適切な優先度を付すことができる。ユーザの利便性を考慮すれば、特にI/Oインターフェース70の応答は迅速であることが好ましい。また優先度に基づけば、こうしたI/Oインターフェース70にアクセスするページの処理状態、例えば処理に要する時間などを調整することができるようになる。
(2) Appropriate priorities can be assigned to pages that access the I /
(3)所定の物理アドレスPaにアクセスするページからアクセスされる他のページにも優先度を付すことができるとともに、当該他のページに付す優先度を先の所定の物理アドレスPa、いわゆるI/Oアドレス51にアクセスするページに付す優先度と相違させるようにした。つまり、I/Oアドレス51へアクセスするページとの間に介在する他のページ数、いわゆるI/Oアドレス51までの距離に応じてページに優先度を付すことができるようになる。これにより、I/Oアドレス51へアクセスするページ、及び、他のページを優先度に応じてメモリの配置を変えたりするようなことができるようにもなる。
(3) Priorities can be given to other pages accessed from a page accessing a predetermined physical address Pa, and the priority given to the other pages is assigned to a predetermined physical address Pa, so-called I / The priority assigned to the page accessing the
(4)高い優先度が設定されたページを、例えば、応答性が高くなるように調整することができるようになる。これにより、例えばI/Oインターフェース70を用いる処理に関しての調整の幅が拡がり利便性が向上される。
(4) A page with a high priority can be adjusted so that, for example, the responsiveness becomes high. Thereby, for example, the range of adjustment regarding processing using the I /
(5)各ページに対応する物理アドレスがそれらページに設定された優先度に応じて変更されるようになる。すなわち、優先度に応じて各ページの配置を変更することができるためページの好適な分散配置が可能にもなる。 (5) The physical address corresponding to each page is changed according to the priority set for those pages. In other words, since the arrangement of each page can be changed according to the priority, a suitable distributed arrangement of pages can be achieved.
(6)各ページの配置が、優先度が高いページの応答性が高くなるように調整することができる。これにより、例えばI/Oインターフェース70を用いる処理に関する応答性が高くなりユーザの利便性が向上する。
(6) The arrangement of each page can be adjusted so that the responsiveness of a page with a high priority becomes high. Thereby, for example, responsiveness regarding processing using the I /
(7)車両20に搭載される車載情報処理装置22におけるプログラムのページの配置が、車載された各種装置であるマイク24やスピーカ25に対応するI/Oインターフェース70へのアクセス態様に応じて定められるようになる。これにより、車載されたマイク24やスピーカ25などにアクセスするページの優先度を高くしたりすることもできるとともに、当該優先度に応じてページを好適に配置するように調整することもできるようになる。
(7) The arrangement of program pages in the in-vehicle
(8)優先度の低い又は設定されないページがサーバ10に配置されるようになるため、車載情報処理装置22としてのプログラムの処理負荷が低下するようになるとともに、I/Oアドレス51に近いページは車両20に配置して処理速度の維持を図るようにすることができるようになる。これにより、プログラムの処理負荷の増加が生じた場合であれ、ページを好適に分散配置させて、処理負荷の増加に対応することができるようになる。
(8) Since pages with low priority or are not set are arranged on the
(その他の実施形態)
なお、上記実施形態は、例えば以下のような態様にて実施することもできる。
・上記実施形態では、車載記憶装置23がHDDから構成されている場合について例示した。しかしこれに限らず、車載記憶装置は、必要な情報を記憶することができる不揮発性の記憶装置であれば、フラッシュメモリや、ソリッドステートドライブ(SSD)などであってもよい。これにより、情報処理システムの構成の自由度の向上などが図られるようになる。
(Other embodiments)
In addition, the said embodiment can also be implemented in the following aspects, for example.
In the above embodiment, the case where the in-
・上記実施形態では、I/Oインターフェース70には車両速度を検出するセンサ26が1つ接続される場合について例示した。しかしこれに限らず、センサは、車両に備えられているセンサであれば、車両の加減速度を検出するものや、エンジンの回転数を検出するものや、ステアリング角度を検出するものや、エンジンなどの温度計や、GPSなどの位置を検出するものや、湿度計などの情報が入力されてもよい。
In the above embodiment, the case where one sensor 26 for detecting the vehicle speed is connected to the I /
また、I/Oインターフェースに接続されるセンサの数も1つに限らず、2つ以上接続されていてもよい。これにより、情報処理システムの構成の自由度の向上などが図られるようになる。 Further, the number of sensors connected to the I / O interface is not limited to one, and two or more sensors may be connected. As a result, the degree of freedom in the configuration of the information processing system can be improved.
・上記実施形態では、優先度「0」が設定されているページから0〜2つの他のページ介するページには優先度「1」を設定し、同3つ以上の他のページを介するページには優先度「2」を設定する場合について例示した。しかしこれに限らず、優先度を設定する際、介する他のページの数は任意に設定可能である。例えば、当該ページからI/Oアドレスにアクセスするページまでの数を算出して、当該算出された数をページの優先度として付すようにしてもよい。これにより、優先度の設定、すなわちページの再配置をより一層適切に行うことができるようになる。 In the above embodiment, the priority “1” is set for pages through 0 to 2 other pages from the page for which the priority “0” is set, and the pages through the other three or more other pages are set. Exemplifies the case where the priority “2” is set. However, the present invention is not limited to this, and when setting the priority, the number of other pages to be interposed can be arbitrarily set. For example, the number from the page to the page accessing the I / O address may be calculated, and the calculated number may be assigned as the page priority. Thereby, priority setting, that is, page rearrangement can be performed more appropriately.
・上記実施形態では、I/Oアドレス51にアクセスしない、つまりデータアクセス命令を含まないページにも優先度を付す場合に付いて例示した。しかしこれに限らず、I/Oアドレスにアクセスしない、つまりデータアクセス命令を含まないページには優先度を付さないようにしてもよい。例えば、全てのページに予め最低の優先度を付しておくようにすることで優先度を参照することができるようになる。もしくは、優先度が設定されていないページについては、その優先度は最低レベルとしてページの再配置を行うようにすればよい。これにより、こうした情報処理装置における優先度の設定が簡単になるとともに、ページの再配置が容易になるようになる。
In the above embodiment, the case where the priority is given to the page that does not access the I /
・上記実施形態では、優先度が「0」,「1」,「2」の三種類である場合について例示した。しかしこれに限らず、付された優先度に対して対応する配置先を設定することができるのであれば、優先度は四種類以上であってもよい。また、優先度が設定されないような場合、その優先度は最も低いと判断するようにしてもよい。これにより、情報処理システムの設計の自由度の向上などが図られるようになる。 In the above embodiment, the case where there are three types of priority, “0”, “1”, and “2” is illustrated. However, the present invention is not limited to this, and there may be four or more priorities as long as corresponding placement destinations can be set for the assigned priorities. Further, when the priority is not set, it may be determined that the priority is the lowest. As a result, the degree of freedom in designing the information processing system can be improved.
・上記実施形態では、車両20は、ドライバーの運転操作により運転される自動車などである場合について例示した。しかしこれに限らず、車両は、情報処理装置のI/Oインターフェースに接続された機器からデータを入出力される車両であれば、運転操作にドライバーが関与するかしないかにかかわらず、例えば、自動運転される搬送車などに適用されてもよい。
In the above embodiment, the case where the
・上記実施形態では、車載情報処理装置22は、車両20を運転するドライバーに対して各種の運転操作を支援するための各種制御等を行うための装置である場合について例示した。しかしこれに限らず、車載情報処理装置は、車両に設けられている各種制御装置に対し、I/Oアドレスから得られるデータに基づく情報を迅速性に提供するようにしてもよい。例えば、図1に示す、センサ26から得られた速度を対応するI/Oアドレス51にアクセスして利用するプログラム32〜34が、その速度の利用がプログラムの内部的な利用であったとして迅速に利用することができるようにすることもできる。これにより、こうした情報処理装置の設計自由度や利便性が向上されるようになる。
-In above-mentioned embodiment, the case where the vehicle-mounted
・上記実施形態では、優先度に基づいて各ページを分散配置させる場合について例示した。しかしこれに限らず、各ページに付された優先度に基づいて、車載情報処理装置とサーバ情報処理装置とでの分散実行可能に各ページを再配置させ、再配置された各ページを車両とサーバとで分散処理するようにしてもよい。これによれば、車両とサーバでの処理により、プログラムの処理に要する時間を短縮させたり、特に車両の処理負荷を減少させたりすることができるようになる。 In the above embodiment, the case where each page is distributed and arranged based on the priority is illustrated. However, the present invention is not limited to this, and based on the priority assigned to each page, each page is rearranged so that the in-vehicle information processing apparatus and the server information processing apparatus can be executed in a distributed manner. You may make it carry out distributed processing with a server. According to this, the time required for the processing of the program can be shortened, and particularly the processing load of the vehicle can be reduced by the processing of the vehicle and the server.
・上記実施形態では、優先度に基づいて、メモリ配置変更部が各ページを分散配置させる場合について例示した。しかしこれに限らず、ページとプログラムコードとの対応関係に基づいてプログラムコードの各部に優先度を対応付け、当該対応付けられた優先度に基づいて当該プログラムを車両とサーバとで分散処理可能なプログラムに再構築するようにしてもよい。これによれば、分散配置可能なプログラムの作成が支援されるとともに、プログラムの動的な評価に基づいて、分散処理可能なプログラムを作成することができ、これによってプログラムの車両における処理時間の短縮や処理負荷の軽減を図ることができるようになる。 In the above embodiment, the case where the memory arrangement changing unit distributes each page based on the priority is illustrated. However, the present invention is not limited to this, and priority is associated with each part of the program code based on the correspondence between the page and the program code, and the program can be distributed between the vehicle and the server based on the associated priority. You may make it rebuild in a program. According to this, creation of a program that can be distributed and distributed is supported, and a program that can be distributed and processed can be created based on dynamic evaluation of the program, thereby reducing the processing time of the program in the vehicle. And the processing load can be reduced.
10…サーバ、11…サーバ通信装置、12…サーバ情報処理装置、13…サーバ記憶装置、20…車両、21…車載通信装置、22…車載情報処理装置、23…車載記憶装置、24…マイク、25…スピーカ、26…センサ、30…CPU、31…OS、32〜34…プログラム、40…メモリ管理ユニット(MMU)、41…ページテーブル、42…アドレス変換部、43…優先度設定部、44…優先度テーブル、45…メモリ配置変更部、50…メモリコントローラ、51…I/Oアドレス、52…内部アドレス、60…ROM(不揮発性メモリ)、61…RAM(揮発性メモリ)、70…I/O(入出力)インターフェース。
DESCRIPTION OF
Claims (11)
前記アドレス変換装置は、プログラムの実行に際して細分化されたプログラムの1単位であるページの前記演算装置による実行によってアクセスされるアドレスに所定の物理アドレスが含まれるか否かに基づいて当該実行されたページに分散配置の目安とする優先度を設定する
ことを特徴とする情報処理装置。 An information processing apparatus including an address conversion device that converts a memory address of an access destination of a program executed by an arithmetic device between a virtual address and a physical address,
The address conversion device is executed based on whether or not a predetermined physical address is included in an address accessed by execution by the arithmetic device of a page that is a unit of a program fragmented when the program is executed. An information processing apparatus characterized in that a priority is set for a page as a guide for distributed arrangement.
請求項1に記載の情報処理装置。 The information processing apparatus according to claim 1, wherein the predetermined physical address is an address corresponding to an input / output interface.
請求項1又は2に記載の情報処理装置。 The information according to claim 1, wherein a priority different from a priority set for a page accessing the predetermined physical address is set to another page accessed from the page accessing the predetermined physical address. Processing equipment.
請求項3に記載の情報処理装置。 The information processing apparatus according to claim 3, wherein a priority higher than a priority set for another page accessed from the page is set for the page accessing the predetermined physical address.
前記各ページは、設定された優先度に応じて配置される物理アドレスが前記配置変更部により変更される
請求項1〜4のいずれか一項に記載の情報処理装置。 The address translation device is provided with an arrangement changing unit that changes physical addresses at which the pages are arranged according to the priority set for each page,
The information processing apparatus according to any one of claims 1 to 4, wherein a physical address arranged in each page is changed according to a set priority by the arrangement changing unit.
請求項5に記載の情報処理装置。 The information processing apparatus according to claim 5, wherein the arrangement changing unit changes a physical address at which each page is arranged so that an access time from the arithmetic device is shortened according to the high priority.
請求項1〜6のいずれか一項に記載の情報処理装置。 The information processing apparatus according to any one of claims 1 to 6, wherein the information processing apparatus is mounted on a vehicle.
前記配置変更部は、前記優先度の低い又は設定されないページを前記サーバのメモリアドレスに配置させる
請求項7に記載の情報処理装置。 The vehicle is configured to be able to communicate with a server provided outside via wireless communication,
The information processing apparatus according to claim 7, wherein the arrangement changing unit arranges a page having a low priority or is not set at a memory address of the server.
前記アドレス変換装置は、プログラムの実行に際して細分化されたプログラムの1単位であるページの前記演算装置による実行によってアクセスされるアドレスに所定の物理アドレスが含まれるか否かに基づいて当該実行されたページに分散配置の目安とする優先度を設定するものであって、この設定した優先度に応じて各ページの配置態様を変更する配置変更部を備え、
前記配置変更部は、前記優先度の低い又は設定されないページを前記サーバのメモリアドレスに配置させる
ことを特徴とする情報処理システム。 An information processing device including an address conversion device that converts a memory address of an access destination of a program executed by the arithmetic device between a virtual address and a physical address is provided in the vehicle, and can communicate with the vehicle via wireless communication An information processing system in which a simple server is provided outside the vehicle,
The address conversion device is executed based on whether or not a predetermined physical address is included in an address accessed by execution by the arithmetic device of a page that is a unit of a program fragmented when the program is executed. A priority is set as a guideline for distributed placement on a page, and a layout changing unit that changes the layout mode of each page according to the set priority is provided.
The information processing system, wherein the arrangement changing unit arranges a page having a low priority or is not set at a memory address of the server.
プログラムの実行に際して細分化されたプログラムの1単位であるページの前記演算装置による実行によってアクセスされるアドレスに所定の物理アドレスが含まれるか否かに基づいて当該実行されたページに分散配置の目安とする優先度を設定する
ことを特徴とする情報処理方法。 An information processing method for performing information processing while converting a memory address of an access destination of a program executed on an arithmetic device between a virtual address and a physical address,
A standard for distributed arrangement on the executed page based on whether or not a predetermined physical address is included in an address accessed by execution by the arithmetic unit of a page that is a unit of a program fragmented when executing the program An information processing method characterized by setting priority.
請求項10に記載の情報処理方法。 The information processing method according to claim 10, wherein the predetermined physical address is an address corresponding to an input / output interface.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2011285700A JP2013134680A (en) | 2011-12-27 | 2011-12-27 | Information processing device, information processing system, and information processing method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2011285700A JP2013134680A (en) | 2011-12-27 | 2011-12-27 | Information processing device, information processing system, and information processing method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2013134680A true JP2013134680A (en) | 2013-07-08 |
Family
ID=48911316
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2011285700A Pending JP2013134680A (en) | 2011-12-27 | 2011-12-27 | Information processing device, information processing system, and information processing method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2013134680A (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2021099785A (en) * | 2019-12-20 | 2021-07-01 | インテル コーポレイション | Automated learning technology to partition computer applications for heterogeneous systems |
| JP2021196971A (en) * | 2020-06-16 | 2021-12-27 | 株式会社デンソー | Control system, control method, control program, in-vehicle control apparatus, and server device |
-
2011
- 2011-12-27 JP JP2011285700A patent/JP2013134680A/en active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2021099785A (en) * | 2019-12-20 | 2021-07-01 | インテル コーポレイション | Automated learning technology to partition computer applications for heterogeneous systems |
| JP2021196971A (en) * | 2020-06-16 | 2021-12-27 | 株式会社デンソー | Control system, control method, control program, in-vehicle control apparatus, and server device |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP2543963B1 (en) | Method of updating a database of a navigation device and navigation device associated thereto | |
| US20170075614A1 (en) | Memory system and host apparatus | |
| KR101812727B1 (en) | Systems and methods of executing multiple hypervisors | |
| EP2751698B1 (en) | Computer system with processor local coherency for virtualized input/output | |
| KR102849632B1 (en) | Storage device performing hashing-based translation between logical address and physical address | |
| JPWO2011055447A1 (en) | Vehicle gateway device | |
| US12014163B2 (en) | OTA master, update control method, non-transitory storage medium, and OTA center | |
| KR102211298B1 (en) | Data transmission logic for data transmission between sensors and planning and control of autonomous vehicles | |
| US20160342342A1 (en) | Information processing device, information processing system, and data access method | |
| JPWO2020183954A1 (en) | Vehicle control system, vehicle control method and vehicle control program | |
| CN104104705B (en) | The cut-in method and equipment of distributed memory system | |
| WO2015180493A1 (en) | Method, apparatus, and system for processing data storage | |
| JP2009176200A (en) | Data processing apparatus and mount method of logical drive | |
| EP2130120A1 (en) | Data update system and computer program | |
| JP7378633B2 (en) | Map data update device and map data update method | |
| JP2013134680A (en) | Information processing device, information processing system, and information processing method | |
| US10901767B2 (en) | Data locality for hyperconverged virtual computing platform | |
| JP4454648B2 (en) | Navigation device | |
| JP2021092875A (en) | Information processing device and information processing method | |
| US10872174B2 (en) | Information processing device, information processing method, and computer program product | |
| CN113918311B (en) | Soft interrupt routing method of multi-core system and method and chip for responding soft interrupt | |
| JP7344109B2 (en) | Resource allocation system, server, computing device | |
| WO2020110273A1 (en) | Route search assistance device, route search assistance method, and computer-readable recording medium | |
| CN109983442A (en) | System and method for Emergency Maintenance vehicle computer | |
| US20190236076A1 (en) | Computer and cache control method |