(57)【要約】【課題】プログラムの分散配置を、要求される機能に応じて容易かつ高効率に行うことのできる情報処理装置、及び情報処理方法、及び前記情報処理装置を使用する情報処理システムを提供する。【解決手段】車載情報処理装置２２は、ＣＰＵ３０で実行されるプログラム３２〜３４のアクセス先のメモリアドレスを仮想アドレスＶａと物理アドレスＰａとの間で変換するＭＭＵ４０を備える。車載情報処理装置２２では、ＭＭＵ４０は、プログラムの実行に際して細分化されたプログラムの１単位であるページのＣＰＵ３０による実行によってアクセスされるアドレスに所定の物理アドレスＰａが含まれるか否かに基づいて当該実行されたページに分散配置の目安とする優先度を設定する。【選択図】図１
2013134680.tif 000002
【特許請求の範囲】
【請求項１】
演算装置で実行されるプログラムのアクセス先のメモリアドレスを仮想アドレスと物理アドレスとの間で変換するアドレス変換装置を備える情報処理装置であって、
前記アドレス変換装置は、プログラムの実行に際して細分化されたプログラムの１単位であるページの前記演算装置による実行によってアクセスされるアドレスに所定の物理アドレスが含まれるか否かに基づいて当該実行されたページに分散配置の目安とする優先度を設定する
ことを特徴とする情報処理装置。
【請求項２】
前記所定の物理アドレスは入出力インターフェースに対応するアドレスである
請求項１に記載の情報処理装置。
【請求項３】
前記所定の物理アドレスにアクセスしたページからアクセスされる他のページに前記所定の物理アドレスにアクセスしたページに設定される優先度とは異なる優先度が設定される
請求項１又は２に記載の情報処理装置。
【請求項４】
前記所定の物理アドレスにアクセスしたページには当該ページからアクセスされる他のページに設定される優先度よりも高い優先度が設定される
請求項３に記載の情報処理装置。
【請求項５】
前記アドレス変換装置には、各ページに設定された優先度に応じてそれらページが配置される物理アドレスを変更する配置変更部が設けられており、
前記各ページは、設定された優先度に応じて配置される物理アドレスが前記配置変更部により変更される
請求項１〜４のいずれか一項に記載の情報処理装置。
【請求項６】
前記配置変更部は、前記優先度の高さに応じて前記演算装置からのアクセス時間が短くなるように各ページを配置させる物理アドレスを変更する
請求項５に記載の情報処理装置。
【請求項７】
前記情報処理装置は車両に搭載されている
請求項１〜６のいずれか一項に記載の情報処理装置。
【請求項８】
前記車両は外部に設けられたサーバに無線通信を介して通信可能に構成されており、
前記配置変更部は、前記優先度の低い又は設定されないページを前記サーバのメモリアドレスに配置させる
請求項７に記載の情報処理装置。
【請求項９】
演算装置で実行されるプログラムのアクセス先のメモリアドレスを仮想アドレスと物理アドレスとの間で変換するアドレス変換装置を備える情報処理装置が車両に設けられるとともに、前記車両と無線通信を介して通信可能なサーバが車両の外部に設けられてなる情報処理システムであって、
前記アドレス変換装置は、プログラムの実行に際して細分化されたプログラムの１単位であるページの前記演算装置による実行によってアクセスされるアドレスに所定の物理アドレスが含まれるか否かに基づいて当該実行されたページに分散配置の目安とする優先度を設定するものであって、この設定した優先度に応じて各ページの配置態様を変更する配置変更部を備え、
前記配置変更部は、前記優先度の低い又は設定されないページを前記サーバのメモリアドレスに配置させる
ことを特徴とする情報処理システム。
【請求項１０】
演算装置で実行されるプログラムのアクセス先のメモリアドレスを仮想アドレスと物理アドレスとの間で変換しつつ情報処理する情報処理方法であって、
プログラムの実行に際して細分化されたプログラムの１単位であるページの前記演算装置による実行によってアクセスされるアドレスに所定の物理アドレスが含まれるか否かに基づいて当該実行されたページに分散配置の目安とする優先度を設定する
ことを特徴とする情報処理方法。
【請求項１１】
前記所定の物理アドレスを入出力インターフェースに対応するアドレスとする
請求項１０に記載の情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両などにおいてプログラムの実行に用いられる情報処理装置及び情報処理方法、及び上記情報処理装置を使用する情報処理システムに関する。
【背景技術】
【０００２】
周知のように、車両にはナビゲーションシステムや各種制御装置等の情報処理装置が搭載されていることが多い。こうした情報処理装置は、提供する機能の増加や高性能化に伴って、プログラムの処理負荷の増加が避けられなくなるとともに、処理負荷の増加が招く処理速度や応答速度の低下によって、その利便性までもが低下することにもなりかねない。そこで、プログラムを複数に分割し、それら分割したプログラムを複数の情報処理装置に分散処理させることでプログラムの実行にかかる時間を短縮するとともに、情報処理システム全体としての処理速度や応答速度の低下を抑えて利便性の確保を図る技術なども提案されている。そして従来、こうした技術の一例として、分散処理させるプログラムを複数の情報処理装置に配置する上での最適化支援を行う技術が特許文献１に記載されている。
【０００３】
特許文献１に記載の装置では、分散処理させる複数のプログラム（アプリケーション）の各々を、ネットワークに接続された複数の情報処理装置（ノード）のいずれに配置させるべきかが算出される。このプログラム配置の算出では、プログラムの連携処理に要求される優先度とネットワークの通信処理上の優劣度とに基づき、連携処理の優先度が高いプログラム同士が通信処理上優良なネットワークにより通信される情報処理装置に配置されるように各プログラムの配置先が算出される。こうして算出された配置によれば、プログラムの適正な連携動作を通じて、分散アプリケーションシステムとしての全体的な動作の安定性の向上が図られるようになる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２８２６５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで近年、情報処理装置では、プログラムの確実かつ容易な書き換えも可能になってきているため、プログラムの機能向上や修正などに伴うプログラムの書き換えが多く行われる傾向にもある。このとき、書き換えの都度、特許文献１に記載の装置によってプログラムの配置を算出するにしても、プログラム全体を考慮した上で、書き換え対象プログラムにそのプログラムの連携処理に要求される優先度等を再設定しなければならないなど、その手間も無視できないものとなっている。
【０００６】
なお、こうした課題は、車両に搭載された情報処理装置のみならず、書き換え可能なプログラムを分散配置させようとする各種の情報処理装置においても概ね共通した課題となっている。
【０００７】
本発明は、このような実情に鑑みなされたものであり、その目的は、プログラムの分散配置を、要求される機能に応じて容易かつ高効率に行うことのできる情報処理装置、及び情報処理方法、及び前記情報処理装置を使用する情報処理システムを提供することにある。
【課題を解決するための手段】
【０００８】
以下、上記課題を解決するための手段及びその作用効果について記載する。
上記課題を解決するため、請求項１に記載の発明は、演算装置で実行されるプログラムのアクセス先のメモリアドレスを仮想アドレスと物理アドレスとの間で変換するアドレス変換装置を備える情報処理装置であって、前記アドレス変換装置は、プログラムの実行に際して細分化されたプログラムの１単位であるページの前記演算装置による実行によってアクセスされるアドレスに所定の物理アドレスが含まれるか否かに基づいて当該実行されたページに分散配置の目安とする優先度を設定することを要旨とする。
【０００９】
上記課題を解決するため、請求項１０に記載の発明は、演算装置で実行されるプログラムのアクセス先のメモリアドレスを仮想アドレスと物理アドレスとの間で変換しつつ情報処理する情報処理方法であって、プログラムの実行に際して細分化されたプログラムの１単位であるページの前記演算装置による実行によってアクセスされるアドレスに所定の物理アドレスが含まれるか否かに基づいて当該実行されたページに分散配置の目安とする優先度を設定することを要旨とする。
【００１０】
演算装置にてプログラムが実行される際、そのプログラムがどのようにページとして分割されるか把握することは困難であるため、プログラム作成時にページに優先度を予め付すことは困難である。また、プログラム中に設定された条件により実行される命令が変化するプログラムの動作をプログラムの作成時の静的な状態で的確に評価することも容易ではない。
【００１１】
このような構成もしくは方法によれば、プログラムがページに分割され、演算装置で実行されている状態において各ページに優先度を付すことができるようになるため、プログラムを動的な作動に基づいて評価することができるようになる。つまり、所定の物理アドレスにアクセスするか否かに基づく優先度を動的かつ的確に各ページに付与することができるようになる。こうした優先度に基づいて、プログラムの分散配置を、現に要求される機能に応じて容易かつ高効率に行うことができるようになる。
【００１２】
また、所定の物理アドレスにアクセスするページには高い優先度を設定し、それ以外のページには低い優先度を設定するようにすることで、所定の物理アドレスにアクセスするページの処理を迅速にするようなこともできるようになる。
【００１３】
請求項２に記載の発明は、請求項１に記載の情報処理装置において、前記所定の物理アドレスは入出力インターフェースに対応するアドレスであることを要旨とする。
請求項１１に記載の発明は、請求項１０に記載の情報処理方法において、前記所定の物理アドレスを入出力インターフェースに対応するアドレスとすることを要旨とする。
【００１４】
このような構成もしくは方法によれば、ユーザの利便性に影響する機器等が接続される入出力インターフェースにアクセスするページに適切な優先度を付すことができる。ユーザの利便性を考慮すれば、特に入出力インターフェースの応答は迅速であることが好ましい。また優先度に基づけば、こうした入出力インターフェースにアクセスするページの処理状態、例えば処理に要する時間などを調整することができるようになる。
【００１５】
請求項３に記載の発明は、請求項１又は２に記載の情報処理装置において、前記所定の物理アドレスにアクセスしたページからアクセスされる他のページに前記所定の物理アドレスにアクセスしたページに設定される優先度とは異なる優先度が設定されることを要旨とする。
【００１６】
このような構成によれば、所定の物理アドレスにアクセスするページからアクセスされる他のページにも優先度を付すことができるとともに、当該他のページに付す優先度を先の所定の物理アドレスにアクセスするページに付す優先度と相違させることができるようになる。つまり、所定の物理アドレスへアクセスするページとの間に介在する他のページ数、いわゆる所定の物理アドレスまでの距離に応じてページに優先度を付すことができるようになる。これにより、所定の物理アドレスへアクセスするページ、及び、他のページを優先度に応じてメモリの配置を変えたりするようなことができるようにもなる。
【００１７】
請求項４に記載の発明は、請求項３に記載の情報処理装置において、前記所定の物理アドレスにアクセスしたページには当該ページからアクセスされる他のページに設定される優先度よりも高い優先度が設定されることを要旨とする。
【００１８】
このような構成によれば、高い優先度が設定されたページを、例えば、応答性が高くなるように調整することができるようになる。これにより、例えば入出力インターフェースを用いる処理に関しての調整の幅が拡がり利便性が向上される。
【００１９】
請求項５に記載の発明は、請求項１〜４のいずれか一項に記載の情報処理装置において、前記アドレス変換装置には、各ページに設定された優先度に応じてそれらページが配置される物理アドレスを変更する配置変更部が設けられており、前記各ページは、設定された優先度に応じて配置される物理アドレスが前記配置変更部により変更されることを要旨とする。
【００２０】
このような構成によれば、各ページに対応する物理アドレスがそれらページに設定された優先度に応じて変更されるようになる。すなわち、優先度に応じて各ページの配置を変更することができるためページの好適な分散配置が可能にもなる。
【００２１】
請求項６に記載の発明は、請求項５に記載の情報処理装置において、前記配置変更部は、前記優先度の高さに応じて前記演算装置からのアクセス時間が短くなるように各ページを配置させる物理アドレスを変更することを要旨とする。
【００２２】
このような構成によれば、各ページの配置が、優先度が高いページの応答性が高くなるように調整される。これにより、例えば入出力インターフェースを用いる処理に関する応答性が高くなりユーザの利便性が向上する。
【００２３】
請求項７に記載の発明は、請求項１〜６のいずれか一項に記載の情報処理装置において、前記情報処理装置は車両に搭載されていることを要旨とする。
このような構成によれば、車両に搭載される情報処理装置におけるプログラムのページの配置が、車載された各種装置に対応する入出力インターフェースへのアクセス態様に応じて定められるようになる。これにより、例えば車載されたマイクやスピーカなどにアクセスするページの優先度を高くしたりすることもできるとともに、当該優先度に応じてページを好適に配置するように調整することもできるようになる。
【００２４】
請求項８に記載の発明は、請求項７に記載の情報処理装置において、前記車両は外部に設けられたサーバに無線通信を介して通信可能に構成されており、前記配置変更部は、前記優先度の低い又は設定されないページを前記サーバのメモリアドレスに配置させることを要旨とする。
【００２５】
このような構成によれば、優先度の低い又は設定されないページがサーバに配置されるようになるため、情報処理装置としてのプログラムの処理負荷が軽減されるようになるとともに、所定の物理アドレスに近いページは車両に配置して処理速度の維持を図るようにすることができるようになる。これにより、プログラムの処理負荷の増加が生じた場合であれ、ページを好適に分散配置させて、処理負荷の増加に対応することができるようになる。
【００２６】
上記課題を解決するため、請求項９に記載の発明は、演算装置で実行されるプログラムのアクセス先のメモリアドレスを仮想アドレスと物理アドレスとの間で変換するアドレス変換装置を備える情報処理装置が車両に設けられるとともに、前記車両と無線通信を介して通信可能なサーバが車両の外部に設けられてなる情報処理システムであって、前記アドレス変換装置は、プログラムの実行に際して細分化されたプログラムの１単位であるページの前記演算装置による実行によってアクセスされるアドレスに所定の物理アドレスが含まれるか否かに基づいて当該実行されたページに分散配置の目安とする優先度を設定するものであって、この設定した優先度に応じて各ページの配置態様を変更する配置変更部を備え、前記配置変更部は、前記優先度の低い又は設定されないページを前記サーバのメモリアドレスに配置させることを要旨とする。
【００２７】
このような構成によれば、プログラムがページに分割され、演算装置で実行されている状態において各ページに優先度を付すことができるようになるため、プログラムを動的な作動に基づいて評価することができるようになる。つまり、所定の物理アドレスにアクセスするか否かに基づく優先度を動的かつ的確に各ページに付与することができるようになる。こうした優先度に基づいて、プログラムの分散配置を、現に要求される機能に応じて容易かつ高効率に行うことができるようになる。
【００２８】
また、所定の物理アドレスにアクセスするページには高い優先度を設定し、それ以外のページには低い優先度を設定するようにすることで、所定の物理アドレスにアクセスするページの処理を迅速にするようなこともできるようになる。
【００２９】
さらに、車両に搭載される情報処理装置におけるプログラムのページの配置が、車載された各種装置に対応する入出力インターフェースへのアクセス態様に応じて定められるようになる。これにより、例えば車載されたマイクやスピーカなどにアクセスするページの優先度を高くしたりすることもできるとともに、当該優先度に応じてページを好適に配置するように調整することもできるようになる。
【００３０】
また、優先度の低い又は設定されないページがサーバに配置されるようになるため、情報処理装置としてのプログラムの処理負荷が軽減されるようになるとともに、所定の物理アドレスに近いページは車両に配置して処理速度の維持を図るようにすることができるようになる。これにより、プログラムの処理負荷の増加が生じた場合であれ、ページを好適に分散配置させて、処理負荷の増加に対応することができるようになる。
【図面の簡単な説明】
【００３１】
【図１】本発明にかかる情報処理システムを具体化した一実施形態について、そのシステム構成を示すブロック図。
【図２】同実施形態の情報処理装置に設けられているページテーブルを模式的に示す模式図。
【図３】同実施形態の情報処理装置に設けられている優先度テーブルを模式的に示す模式図。
【図４】同実施形態の情報処理装置において行われるアドレス変換を模式的に示す模式図。
【図５】同実施形態の情報処理装置においてページに優先度を付す処理を示すフローチャート。
【図６】同実施形態の情報処理装置において優先度に応じてページの配置を変更する処理の概要を示すフローチャート。
【図７】同実施形態の情報処理装置において優先度に応じてページの配置が定められる態様を模式的に示す模式図。
【発明を実施するための形態】
【００３２】
以下、本発明にかかる情報処理システムを具体化した一実施形態について、図に従って説明する。
図１に示すように、情報処理システムには、固定設備であるサーバ１０と移動体としての車両２０とが設けられている。
【００３３】
サーバ１０は、車両２０の外部に設けられ、車両２０に対して各種の情報やサービスを提供するためのものであって、車両２０からの要求に応じて各種の情報やサービスを提供する。サーバ１０は、例えば、道路交通情報を配信するサーバや、特定の顧客にのみサービスを提供するサーバなどであってもよい。サーバ１０には、車両２０との通信を可能にするサーバ通信装置１１と、前述した各種の情報やサービスの提供に必要とされる各種処理を行うサーバ情報処理装置１２と、サーバ情報処理装置１２における各種処理に用いられるデータなどを保持するサーバ記憶装置１３とが設けられている。
【００３４】
サーバ通信装置１１は、サーバ情報処理装置１２との間でデータ通信を行うことができるように該サーバ情報処理装置１２に接続、例えばバス接続されているとともに、車両２０との間で無線通信を介して相互にデータ通信を行うことができるようになっている。つまり、サーバ通信装置１１は、サーバ情報処理装置１２から入力されたデータを車両２０に送信することができるとともに、車両２０から受信したデータをサーバ情報処理装置１２へ出力することができる。
【００３５】
サーバ情報処理装置１２は、各種演算処理を実行するＣＰＵ、各種制御プログラムを格納するＲＯＭ、データ格納やプログラム実行のためのワークエリアとして利用されるＲＡＭ、入出力（Ｉ／Ｏ）インターフェース、読み書き可能な不揮発性の内部記憶装置等を備えたマイクロコンピュータを中心に構成されている。ＲＯＭや内部記憶装置には、車両２０の運転を支援するための各種プログラムや各種パラメータが予め記憶されている。そして、ＣＰＵによる各種パラメータを含む各種プログラムの実行処理に基づいて、各種の運転支援が車両２０に提供される。
【００３６】
サーバ記憶装置１３は、読み書き可能な不揮発性の記憶装置としてのＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などから構成されており、サーバ情報処理装置１２との間でデータ転送可能に該サーバ情報処理装置１２に接続、例えばバス接続されている。サーバ記憶装置１３には、サーバ情報処理装置１２にて実行されるプログラムから利用される各種情報などが格納されている。また、サーバ記憶装置１３に、車両２０の運転を支援するための各種プログラムや各種パラメータが記憶されていてもよいし、車両２０との間で分散処理されるプログラムの一部が記憶されていてもよい。
【００３７】
さらにサーバ記憶装置１３は、車載情報処理装置２２の仮想メモリ領域として使用することができる。つまり、車載情報処理装置２２におけるプログラムの実行の際に要するメモリとしての仮想メモリ領域をサーバ記憶装置１３に確保することができるとともに、当該仮想メモリ領域のメモリアドレスにデータ等を配置することができるようになる。
【００３８】
車両２０は、ドライバーの運転操作により運転される自動車などであって運転支援などに用いられる車載情報処理装置２２を備えている。車両２０には、サーバ１０との通信を可能にする車載通信装置２１と、前述した運転支援を提供するために必要とする各種処理を行う車載情報処理装置２２と、車載情報処理装置２２における各種処理に用いられるデータなどを保持する車載記憶装置２３とが設けられている。また車両２０には、ドライバー等の音声が入力されるマイク２４と、ドライバー等に音声を提供するスピーカ２５と、車両速度を検出するセンサ２６とが設けられている。
【００３９】
車載通信装置２１は、車載情報処理装置２２との間でデータ通信を行うことができるように該車載情報処理装置２２に接続、例えばバス接続されているとともに、サーバ１０との間で無線通信を介して相互にデータ通信を行うことができるようになっている。つまり、車載通信装置２１は、車載情報処理装置２２から入力されたデータをサーバ１０へ送信するとともに、サーバ１０から受信したデータを車載情報処理装置２２へ出力する。
【００４０】
車載情報処理装置２２は、例えば、車両２０を運転するドライバーに対して提供する各種の運転支援に要する各種制御等を行うための装置であって、ＣＰＵや記憶装置等を備えるマイクロコンピュータを中心に構成されている。すなわち、車載情報処理装置２２には、上記各種の運転支援に必要とされる各種演算処理を実行する演算装置としてのＣＰＵ３０と、ＣＰＵ３０からアクセスされるメモリアドレスを管理するアドレス変換装置としてのメモリ管理ユニット（ＭＭＵ）４０とが設けられている。また、車載情報処理装置２２には、メモリアドレスに対するデータの読み込みや書き込み、いわゆるアクセスを管理するメモリコントローラ５０と、各種制御プログラムを格納する不揮発性メモリ（ＲＯＭ）６０と、データ格納やプログラム実行のためのワークエリアとして利用される揮発性メモリ（ＲＡＭ）６１とが設けられている。さらに、車載情報処理装置２２には、車載情報処理装置２２へ各種機器を接続させる入出力（Ｉ／Ｏ）インターフェース７０が設けられている。
【００４１】
ＲＯＭ６０や車載記憶装置２３などには、車両２０の運転を支援するための各種プログラムや各種パラメータが記憶されている。そして、ＣＰＵ３０による各種パラメータを含む各種プログラムの実行処理に基づいて、各種の運転支援が車両２０に提供される。本実施形態の車載情報処理装置２２では、例えば、マイク２４から入力される音声により操作可能なユーザインターフェースを有するプログラムや、スピーカ２５を通じて音声を出力するプログラムなどが実行される。
【００４２】
車載記憶装置２３は、読み書き可能な不揮発性の記憶装置としてのＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などから構成されており、車載情報処理装置２２との間でデータ転送可能に該車載情報処理装置２２に接続、例えばバス接続されている。車載記憶装置２３には、車載情報処理装置２２にて実行されるプログラムから利用される各種情報などが格納されている。また、車載記憶装置２３に、車両２０の運転を支援するための各種プログラムや各種パラメータが記憶されていてもよいし、サーバ１０との間で分散処理されるプログラムの一部が記憶されていてもよい。さらに、車載記憶装置２３は、車載情報処理装置２２において仮想メモリ領域として使用することもできる。つまり、車載情報処理装置２２によるプログラムの実行の際に要するメモリとしての仮想メモリ領域を車載記憶装置２３に確保することができるとともに、当該仮想メモリ領域のメモリアドレスにデータ等を配置することができるようになる。
【００４３】
マイク２４は、ドライバー等の音声を収集するために車両２０の車内に設けられているものであり、収集された音声からなる音声データをＣＰＵ３０へ出力することができる。こうして出力された音声データが音声認識されることで、その認識結果がプログラムに対する操作として反映させることができるようにもできる。
【００４４】
スピーカ２５は、音や音声を発生する装置であり、ＣＰＵ３０からＩ／Ｏインターフェース７０を介して入力された音声信号等に対応する音や音声が出力される。これにより車載情報処理装置２２は運転支援にかかる情報などを、ドライバーへの注意を喚起するための音からなる注意音声や警報音などとして、このスピーカ２５を介して出力することができる。
【００４５】
センサ２６は、車両２０の速度を検出するためのセンサであって、車両２０の速度に基づく信号をＩ／Ｏインターフェース７０に出力する。
ＣＰＵ３０は、ＯＳ３１や各種プログラム３２〜３４の演算処理を行うとともに、ＭＭＵ４０やメモリコントローラ５０にメモリアクセス可能に接続されている。ＣＰＵ３０は、ＯＳ３１や各種プログラム３２〜３４の演算処理に基づいてアクセスする必要が生じたメモリアドレスにＭＭＵ４０及びメモリコントローラ５０を介してアクセスするとともに、そのアクセスを通じて該メモリアドレスに記憶されているデータを取得するようになっている。なお、ＣＰＵ３０では、メモリアドレスとしての仮想アドレス（論理アドレス）Ｖａの下でＯＳ３１や各種プログラム３２〜３４が実行されるようになっているため、ＣＰＵ３０により処理されるメモリアドレスにアクセスする各種の命令、いわゆるアクセス命令に含まれる仮想アドレスＶａがアクセス先のアドレスとしてＣＰＵ３０から出力される。
【００４６】
ＭＭＵ４０は、ＣＰＵ３０から入力された仮想アドレスＶａをメモリアドレスとしての物理アドレスＰａに変換するとともに、当該変換された物理アドレスＰａに基づいてメモリコントローラ５０にアクセスする。
【００４７】
ＭＭＵ４０には、仮想アドレスＶａと物理アドレスＰａとを対応付けたデーブルとしてのページテーブル４１と、ページテーブル４１を参照して仮想アドレスＶａを物理アドレスＰａに変換するアドレス変換部４２とが設けられている。また、ＭＭＵ４０には、仮想アドレスＶａへのアクセスを要求したページに対して、仮想アドレスＶａを物理アドレスＰａに変換したとき、当該変換された物理アドレスＰａに基づいて当該ページに対して優先度を付す優先度設定部４３が設けられている。さらに、ＭＭＵ４０には、ページと優先度とを対応付けたテーブルとしての優先度テーブル４４と、優先度テーブル４４に基づいてページのメモリ配置を変更するメモリ配置変更部４５とが設けられている。
【００４８】
ページテーブル４１には、図２に示すように、仮想アドレスＶａと当該仮想アドレスＶａに対応する物理アドレスＰａとが対応付けられて記憶されている。ページテーブル４１では、例えば、仮想アドレス「Ｖ１」は物理アドレス「Ｐ１」に、仮想アドレス「Ｖ２」は物理アドレス「Ｐ２」に、仮想アドレス「Ｖ３」は物理アドレス「Ｐ３」にそれぞれ対応付けられている。また、ページテーブル４１では、例えば、仮想アドレス「Ｖ４」は物理アドレス「Ｐ４」に、仮想アドレス「Ｖ５」は物理アドレス「Ｐ５」に、仮想アドレス「Ｖ６」は物理アドレス「Ｐ６」にそれぞれ対応付けられている。さらに、ページテーブル４１では、例えば、仮想アドレス「Ｖ１１」は物理アドレス「Ｐ１１」に、仮想アドレス「Ｖ４１」は物理アドレス「Ｐ１２」にそれぞれ対応付けられている。
【００４９】
なお、仮想アドレス「Ｖ１」は、「ページ番号」（例えば「００１２３４」）と「オフセット」（例えば「０５６７」）とが組み合わされたアドレス（例えば「００１２３４０５６７」）として構成されている。また、物理アドレス「Ｐ１」は、仮想アドレス「Ｖ１」に含まれる「ページ番号」から特定されるページテーブル４１の位置に格納されている「変換アドレス」（例えば「００４３２１」）と「オフセット」（例えば「０５６７」）とが組み合わされたアドレス（例えば「００４３２１０５６７」）として構成されている。なお、仮想アドレスＶａを物理アドレスＰａに変換する方式などについては、上記の例に限られず、その他の公知の方式を採用することができる。
【００５０】
アドレス変換部４２は、ページテーブル４１を参照して、ＣＰＵ３０から受けた仮想アドレスＶａを対応する物理アドレスＰａに変換するとともに、当該物理アドレスＰａに基づいてメモリコントローラ５０にアクセスする。
【００５１】
優先度設定部４３は、アドレス変換部４２が変換した後の物理アドレスＰａが所定の物理アドレスとしてのＩ／Ｏアドレス５１に含まれているか否かに基づいて、当該物理アドレスＰａに変換された仮想アドレスＶａをアクセス先としたページに優先度を設定する。また優先度設定部４３は、ページに設定した優先度を当該ページに対応付けて優先度テーブル４４に登録させる。例えば、優先度設定部４３は、ページがアクセスする物理アドレスＰａにＩ／Ｏアドレス５１が含まれている場合、ページには優先度として、最高の優先度である「０」を設定する。また、例えば、優先度設定部４３は、Ｉ／Ｏアドレス５１を物理アドレスＰａに含むページから呼び出されたページである場合、つまり優先度「０」が設定されているページから呼び出されたページである場合、当該呼び出されたページの優先度として、中程度の優先度である「１」を設定する。さらに、例えば、優先度設定部４３は、物理アドレスＰａにＩ／Ｏアドレス５１を含まないとともに、物理アドレスＰａにＩ／Ｏアドレス５１を含むページから呼び出されていないページである場合、当該ページの優先度として、最低の優先度である「２」を設定する。なお、本実施形態では、プログラムを読み込んだ際、全てのページの優先度を最低の優先度である「２」に設定するため、優先度設定部４３は、ページに設定しようとする新たな優先度が、既に設定されている優先度より高い場合、既に設定されている優先度を新たな優先度に置き換える。一方、優先度設定部４３は、ページに設定しようとする新たな優先度が、既に設定されている優先度より低い場合、既に設定されている優先度を新たな優先度に置き換えない。
【００５２】
優先度テーブル４４は、ページと当該ページに対応する優先度とが設定されている。優先度テーブル４４では、例えば、ページ「＃１」には優先度「０」が、ページ「＃２」には優先度「２」が、ページ「＃３」には優先度「１」が、ページ「＃４」には優先度「０」が、ページ「＃５」には優先度「２」が、ページ「＃６」には優先度「２」がそれぞれ対応付けられて保持されている。
【００５３】
メモリ配置変更部４５は、優先度テーブル４４を参照して、各ページのメモリ配置を当該ページに設定された優先度に応じて変更させる機能を有し、ＣＰＵ３０からの「メモリの再配置命令」に基づいて、各ページを優先度に応じたメモリ配置に再配置させる。メモリ配置変更部４５には、優先度に対応付けられた配置先のメモリが設定されており、例えば、優先度「０」のページはＲＡＭ６１のメモリが配置先とされている。また、メモリ配置変更部４５には、優先度「１」のページは車載記憶装置２３の仮想メモリが配置先とされ、優先度「２」のページはサーバ記憶装置１３の仮想メモリが配置先とされている。
【００５４】
メモリコントローラ５０は、接続されているＲＯＭ６０、ＲＡＭ６１、Ｉ／Ｏインターフェース７０に設けられているメモリのアドレスに対応付けられた物理アドレスＰａを管理している。また、メモリコントローラ５０は、アクセス要求された物理アドレスＰａに格納されているデータＤａを対象とする当該物理アドレスＰａから取得してＣＰＵ３０へ出力する。これによりＣＰＵ３０は仮想アドレスＶａにアクセスすることで、当該仮想アドレスＶａに対応する物理アドレスＰａからアクセス要求したデータＤａを取得することができる。
【００５５】
メモリコントローラ５０には、Ｉ／Ｏアドレス５１と内部アドレス５２とが物理アドレスとして管理されている。Ｉ／Ｏアドレス５１は、Ｉ／Ｏインターフェース７０の内部メモリに対応付けられた物理アドレスであることから、当該Ｉ／Ｏアドレス５１へのアクセスがＩ／Ｏインターフェース７０に接続された各機器との間のデータの授受を可能にさせる。内部アドレス５２は、ＲＯＭ６０やＲＡＭ６１のメモリに対応付けられた物理アドレスであるため、当該内部アドレス５２へのアクセスが内部アドレス５２に対応付けられたＲＯＭ６０やＲＡＭ６１のメモリとの間のデータの授受を可能にさせる。
【００５６】
Ｉ／Ｏインターフェース７０には、通信バスを介して車載通信装置２１や車載記憶装置２３が接続されるとともに、入力端子を介してマイク２４やセンサ２６が接続され、出力端子を介してスピーカ２５が接続されている。Ｉ／Ｏインターフェース７０は、マイク２４及びセンサ２６から入力される電気信号をメモリコントローラ５０からアクセス可能なデータに変換するとともに、メモリコントローラ５０から受けたデータをスピーカ２５へ入力可能な電気信号に変換してスピーカ２５に提供する。
【００５７】
次に、図４を参照して、アドレス変換について説明する。
ＣＰＵ３０では、例えばプログラム３２が実行されているとともに、実行されているプログラム３２は第１〜第６のページ「＃１」〜「＃６」に分割されて管理されている。つまり、ＣＰＵ３０ではプログラム３２の実行がページ単位で管理される。そしてＣＰＵ３０では、プログラムに定められた実行順に従って分割された複数のページが順次実行されることでプログラムが実行される。なお、ページとは、ＣＰＵ３０において実行可能なプログラムの一部分であり、同実行可能なプログラムを所定のデータサイズにて細分化して得られたプログラムを１単位とする。プログラムが分割される所定のデータサイズ、つまりページのサイズは、例えば、４キロバイトである。
【００５８】
ＣＰＵ３０では、第１のページ「＃１」が仮想アドレス「Ｖ１」に設定され、第２のページ「＃２」が仮想アドレス「Ｖ２」に設定され、第３のページ「＃３」が仮想アドレス「Ｖ３」に設定されている。また、ＣＰＵ３０では、第４のページ「＃４」が仮想アドレス「Ｖ４」に設定され、第５のページ「＃５」が仮想アドレス「Ｖ５」に設定され、第６のページ「＃６」が仮想アドレス「Ｖ６」に設定されている。さらに、第１のページ「＃１」には、マイク２４からの入力に対応する仮想アドレス「Ｖ１１」へのアクセス命令が含まれているとともに、第４のページ「＃４」には、スピーカ２５への出力に対応する仮想アドレス「Ｖ４１」へのアクセス命令が含まれている。
【００５９】
メモリコントローラ５０には、例えば、ＣＰＵ３０で実行されるプログラム３２の第１〜第６のページ「＃１」〜「＃６」に対応する物理アドレスが管理されている。具体的には、メモリコントローラ５０では、第１のページ「＃１」に対応する領域が物理アドレス「Ｐ１」に設定され、第２のページ「＃２」に対応する領域が物理アドレス「Ｐ２」に設定され、第３のページ「＃３」に対応する領域が物理アドレス「Ｐ３」に設定されている。また、メモリコントローラ５０では、第４のページ「＃４」に対応する領域が物理アドレス「Ｐ４」に設定され、第５のページ「＃５」に対応する領域が物理アドレス「Ｐ５」に設定され、第６のページ「＃６」に対応する領域が物理アドレス「Ｐ６」に設定されている。さらに、メモリコントローラ５０では、マイク２４からの入力に対応するアドレスとして物理アドレス「Ｐ１１」が設定されているとともに、スピーカ２５への出力に対応するアドレスとして物理アドレス「Ｐ１２」が設定されている。なお、メモリコントローラ５０では、物理アドレス「Ｐ１」〜「Ｐ６」は、内部アドレス５２のうちのＲＡＭ６１のメモリに確保されているメモリアドレスに割当てられている。
【００６０】
ＭＭＵ４０では、ＣＰＵ３０から受けた仮想アドレスＶａが、メモリコントローラ５０が管理する物理アドレスＰａにアドレス変換される。例えば、ＭＭＵ４０では、図２に示されるページテーブル４１を参照することによりアドレス変換部４２が行うアドレス変換Ｔ１によって仮想アドレス「Ｖ１」が物理アドレス「Ｐ１」に変換され、同アドレス変換Ｔ２によって仮想アドレス「Ｖ２」が物理アドレス「Ｐ２」に変換される。また、アドレス変換部４２が行うアドレス変換Ｔ３によって仮想アドレス「Ｖ３」が物理アドレス「Ｐ３」に変換され、同アドレス変換Ｔ４によって仮想アドレス「Ｖ４」が物理アドレス「Ｐ４」に変換される。さらに、アドレス変換部４２が行うアドレス変換Ｔ５によって仮想アドレス「Ｖ５」が物理アドレス「Ｐ５」に変換され、同アドレス変換Ｔ６によって仮想アドレス「Ｖ６」が物理アドレス「Ｐ６」に変換される。また、アドレス変換部４２が行うアドレス変換Ｔ１１によって仮想アドレス「Ｖ１１」が物理アドレス「Ｐ１１」に変換され、同アドレス変換Ｔ１２によって仮想アドレス「Ｖ４１」が物理アドレス「Ｐ１２」に変換される。
【００６１】
つまり、ＣＰＵ３０は仮想アドレス「Ｖ１」に基づいて物理アドレス「Ｐ１」へアクセスすることができ、仮想アドレス「Ｖ２」に基づいて物理アドレス「Ｐ２」へアクセスすることができ、仮想アドレス「Ｖ３」に基づいて物理アドレス「Ｐ３」へアクセスすることができる。また、ＣＰＵ３０は仮想アドレス「Ｖ４」に基づいて物理アドレス「Ｐ４」へアクセスすることができ、仮想アドレス「Ｖ５」に基づいて物理アドレス「Ｐ５」へアクセスすることができ、仮想アドレス「Ｖ６」に基づいて物理アドレス「Ｐ６」へアクセスすることができる。さらに、ＣＰＵ３０は仮想アドレス「Ｖ１１」に基づいて物理アドレス「Ｐ１１」へアクセスすることができ、仮想アドレス「Ｖ４１」に基づいて物理アドレス「Ｐ１２」へアクセスすることができる。
【００６２】
続いて、ページへの優先度付与について図５を参照して説明する。
なおこの車載情報処理装置２２では、プログラムの実行が開始されるとＣＰＵ３０からメモリへのアクセスが生じる都度、ＭＭＵ４０によるアドレス変換が実行されるようになっている。
【００６３】
ＣＰＵ３０は、プログラムの実行が開始されると、プログラムの処理に伴ってメモリアドレス等へアクセス命令を処理する（ステップＳ１０）。例えば、アクセス命令は仮想アドレス「Ｖ１」へのアクセスを行うものとする。
【００６４】
仮想アドレス「Ｖ１」へのアクセスが開始されると、当該仮想アドレス「Ｖ１」がＭＭＵ４０によりアドレス変換される。すなわち、仮想アドレス「Ｖ１」を受けたＭＭＵ４０は、該仮想アドレス「Ｖ１」に基づいてページテーブル４１を検索する、いわゆるエントリを検索する（ステップＳ２０）。ＭＭＵ４０は、この検索の結果得られたページに対応するエントリの履歴を保存する（ステップＳ２１）とともに、こうして得られたページに対応するエントリから仮想アドレス「Ｖ１」に対応する物理アドレス「Ｐ１」を取得する、つまり仮想アドレス「Ｖ１」を物理アドレス「Ｐ１」に変換する（ステップＳ２２）。また、ＭＭＵ４０は、この仮想アドレス「Ｖ１」にアクセスしたページが、直前にＩ／Ｏアドレスにアクセスしたページまでに介在される他のページの数に応じて優先度を付すようにしている。例えば、優先度「０」が設定されているページから０〜２つの他のページ介するページには優先度「１」を設定し、同３つ以上の他のページを介するページには優先度「２」を設定するようにしている（ステップＳ２３）。これにより、Ｉ／Ｏアドレスにアクセスするページまでの間に介在するページの数に応じて優先度を設定することができるようになる。そして、ＭＭＵ４０は、次のアドレスをアドレス変換すべくステップＳ３０に戻る。
【００６５】
ＣＰＵ３０は、仮想アドレス「Ｖ１」がＭＭＵ４０で物理アドレス「Ｐ１」に変換されることに伴い、そのアクセス命令のアクセス先が物理アドレス「Ｐ１」になるため、当該変換された物理アドレス「Ｐ１」から命令を読み込む、つまり命令をロードする（ステップＳ１１）。これによりＣＰＵ３０は、仮想アドレスＶａに対応する物理アドレスＰａにアクセスして当該物理アドレスＰａから必要なデータを取得することができる。続いて、ＣＰＵ３０は、ロードされた命令が、データアクセス命令であるか否かを判断する（ステップＳ１２）。ロードされた命令がデータアクセス命令ではなかった場合（ステップＳ１２でＮＯ）、ＣＰＵ３０は、次のアクセス命令を処理すべくステップＳ１０に戻る。
【００６６】
一方、ロードされた命令がデータアクセス命令であった場合（ステップＳ１２でＹＥＳ）、ＣＰＵ３０は当該データアクセス命令を処理する（ステップＳ１３）。このとき、例えば、データアクセス命令は仮想アドレス「Ｖ１１」へのアクセスを行うものとする。
【００６７】
仮想アドレス「Ｖ１１」へのアクセスが開始されると、当該仮想アドレス「Ｖ１１」がＭＭＵ４０によりアドレス変換される。すなわち、仮想アドレス「Ｖ１１」を受けたＭＭＵ４０は、該仮想アドレス「Ｖ１１」に基づいてページテーブル４１を検索する、いわゆるアドレスに対応するエントリの検索を実行する（ステップＳ３０）。ＭＭＵ４０は、この検索の結果得られたエントリから仮想アドレス「Ｖ１１」に対応する物理アドレス「Ｐ１１」を取得する、つまり仮想アドレス「Ｖ１１」を物理アドレス「Ｐ１１」に変換する（ステップＳ３１）。
【００６８】
ＣＰＵ３０は、仮想アドレス「Ｖ１１」がＭＭＵ４０で物理アドレス「Ｐ１１」に変換されることに伴い、そのアクセス命令のアクセス先が物理アドレス「Ｐ１１」になるため、当該変換された物理アドレス「Ｐ１１」からデータを読み込む、つまりデータがロードされる（ステップＳ１４）。これによりＣＰＵ３０は、仮想アドレスＶａに基づいて対応する物理アドレスＰａにアクセスして当該物理アドレスＰａから必要な情報を取得することができる。そしてＣＰＵ３０は、次のアクセス命令を処理すべくステップＳ１０に戻る。
【００６９】
なお、ＭＭＵ４０は、ステップＳ３１にて仮想アドレス「Ｖ１１」を物理アドレス「Ｐ１１」に変換すると、当該物理アドレス「Ｐ１１」がＩ／Ｏアドレスであるか否かを判断する（ステップＳ３２）。物理アドレス「Ｐ１１」がＩ／Ｏアドレスであると判断された場合（ステップＳ３２でＹＥＳ）、ＭＭＵ４０は、優先度テーブル４４に対して、このデータアクセス命令を含むページの優先度を最高値の「０」に設定する（ステップＳ３３）。なお、このデータアクセス命令を含むページはステップＳ２１で保存されたページの履歴に基づいて、ステップＳ２１にて処理された最新のページであることとが分かるため、優先度テーブル４４に対して、このデータアクセス命令のあったページに対して優先度を設定することは容易に行うことができる。そしてＭＭＵ４０は、次のデータアドレスをアドレス変換すべくステップＳ３０に戻る。一方、物理アドレス「Ｐ１１」がＩ／Ｏアドレスではないと判断された場合（ステップＳ３２でＮＯ）、ＭＭＵ４０は、次のデータアドレスをアドレス変換すべくステップＳ３０に戻る。
【００７０】
この処理によって、図３に示すように、優先度テーブル４４には、ページに対応する優先度が設定される。具体的には、アドレス変換Ｔ１に応じて第１のページ「＃１」には優先度「０」が設定され、アドレス変換Ｔ２に応じて第２のページ「＃２」には優先度「２」が設定され、アドレス変換Ｔ３に応じて第３のページ「＃３」には優先度「１」が設定されるようになる。また、アドレス変換Ｔ４に応じて第４のページ「＃４」には優先度「０」が設定され、アドレス変換Ｔ５に応じて第５のページ「＃５」には優先度「２」が設定され、アドレス変換Ｔ６に応じて第６のページ「＃６」には優先度「２」が設定されるようになる。
【００７１】
本実施形態の通信システムの作用について、図６及び図７を参照して説明する。
図６に示すように、車載情報処理装置２２は、アプリケーションソフトウェアなどのプログラム３２〜３４の実行を開始すると、アクセス命令とデータアクセス命令との監視を開始する（ステップＳ４０）とともに、当該監視の下で当該プログラムを一定時間動作させて各ページに優先度を付与させる（ステップＳ４１）。つまり、各ページには、プログラムを一定時間動作させて得られるプログラムの動的な動作に基づいて優先度が付与される。例えば、各ページの優先度が、図３に示される優先度テーブル４４のように設定されたものとする。
【００７２】
ページへの優先度の付与が終了すると、車載情報処理装置２２は、所定の条件に基づいて「メモリの再配置命令」を実行することにより、ページに付された優先度に応じて各ページの配置を変更する（ステップＳ４２）。本実施形態では、各ページの配置先は、優先度が「０」の場合はＲＡＭ６１のメモリ、優先度が「１」の場合は車載記憶装置２３に設けられた仮想メモリ、優先度が「２」の場合はサーバ記憶装置１３に設けられた仮想メモリにそれぞれ定められているものとする。これによれば、ＣＰＵ３０からのアクセス速度としては、優先度が「０」のときは最も速く、優先度が「１」のときは優先度「０」に比べて遅く、優先度が「２」のときは優先度「０」及び「１」に比べて遅くなるようになる。なお、「メモリの再配置命令」が実行される所定の条件とは、一定時間の経過により優先度の付与が終了したこと、かつ、ＣＰＵ３０の処理能力にメモリを再配置させる処理を行う余裕がある場合などである。また、車両２０の走行状態などを条件としても良い。
【００７３】
そうすると車載情報処理装置２２は、優先度テーブル４４に従って、図７に示すように、第１及び第４のページ「＃１」，「＃４」は、それぞれＲＡＭ６１に配置させ、第２，第５及び第６のページ「＃２」，「＃５」，「＃６」はそれぞれサーバ記憶装置１３に配置させ、第３のページ「＃３」は車載記憶装置２３に配置させる。つまり各ページは、優先度に基づいて、Ｉ／Ｏインターフェース７０へアクセスするページを含めて、処理状態、例えば処理に要する時間などが調整されるようになる。なおページの仮想メモリへの配置や当該仮想メモリへ配置されたページへのアクセスなどは、ＯＳ３１が有するメモリ管理機能などに基づいて実現される。
【００７４】
このメモリの再配置により、Ｉ／Ｏアドレス５１へアクセスするページはＣＰＵ３０からのアクセス速度の速い位置に配置され、Ｉ／Ｏアドレス５１へアクセスが少ないページはＣＰＵ３０からのアクセス速度の速くない位置に配置されるようになる。従って、Ｉ／Ｏアドレス５１に対応するアドレスを介してアクセスされるマイク２４やスピーカ２５などは、それらを通じてのユーザの操作や、ユーザへの情報提供に要する時間の遅延を少ないものとすることができるようになる。特に、マイクなどを通じてのユーザが入力した情報に対する車載情報処理装置２２の応答に時間がかかると、ユーザを戸惑わせるようなことも生じるため、ユーザを戸惑わせるような処理についてはその配置位置をＲＡＭ６１にして応答速度を高く維持し、ユーザを戸惑わせないような処理については応答速度を低下させることができるようにもなる。このように本発明の車載情報処理装置２２によるプログラムのメモリの再配置によれば、プログラムを分散配置させつつ、装置のユーザなどに対する反応速度の低下を抑制させることができるようになる。
【００７５】
また、プログラムの実際の動作に基づいて、動的に優先度を設定するようにしていることから、プログラムに予め優先度を設定するような手間を割愛することができるようになるとともに、静的評価では判断することのできない実行頻度などの状況も考慮されて優先度が設定されるようになる。このため、プログラムの分散配置がより好適かつ適正に行えるようになる。
【００７６】
以上説明したように、本実施形態の情報処理システムによれば、以下に列記するような効果が得られるようになる。
（１）ＣＰＵ３０にてプログラム３２〜３４が実行される際、そのプログラム３２〜３４がどのようにページとして分割されるか把握することは困難であるため、プログラム作成時にページに優先度を予め付すことは困難である。また、プログラム中に設定された条件により実行される命令が変化するプログラムの動作をプログラムの作成時の静的な状態で的確に評価することも容易ではない。
【００７７】
このような構成によれば、プログラム３２がページに分割され、ＣＰＵ３０で実行されている状態において各ページに優先度を付すことができるようになるため、プログラム３２を動的な作動に基づいて評価することができるようになる。つまり、所定の物理アドレスＰａ（Ｉ／Ｏアドレス５１）にアクセスするか否かに基づく優先度を動的かつ的確に各ページに付与することができるようになる。こうした優先度に基づいて、プログラム３２の分散配置を、現に要求される機能に応じて容易かつ高効率に行うことができるようになる。
【００７８】
また、Ｉ／Ｏアドレス５１にアクセスするページには高い優先度を設定し、それ以外のページには低い優先度を設定するようにすることで、Ｉ／Ｏアドレス５１にアクセスするページの処理を迅速にするようなこともできるようになる。
【００７９】
（２）ユーザの利便性に影響するマイク２４やスピーカ２５などの機器等が接続されるＩ／Ｏインターフェース７０にアクセスするページに適切な優先度を付すことができる。ユーザの利便性を考慮すれば、特にＩ／Ｏインターフェース７０の応答は迅速であることが好ましい。また優先度に基づけば、こうしたＩ／Ｏインターフェース７０にアクセスするページの処理状態、例えば処理に要する時間などを調整することができるようになる。
【００８０】
（３）所定の物理アドレスＰａにアクセスするページからアクセスされる他のページにも優先度を付すことができるとともに、当該他のページに付す優先度を先の所定の物理アドレスＰａ、いわゆるＩ／Ｏアドレス５１にアクセスするページに付す優先度と相違させるようにした。つまり、Ｉ／Ｏアドレス５１へアクセスするページとの間に介在する他のページ数、いわゆるＩ／Ｏアドレス５１までの距離に応じてページに優先度を付すことができるようになる。これにより、Ｉ／Ｏアドレス５１へアクセスするページ、及び、他のページを優先度に応じてメモリの配置を変えたりするようなことができるようにもなる。
【００８１】
（４）高い優先度が設定されたページを、例えば、応答性が高くなるように調整することができるようになる。これにより、例えばＩ／Ｏインターフェース７０を用いる処理に関しての調整の幅が拡がり利便性が向上される。
【００８２】
（５）各ページに対応する物理アドレスがそれらページに設定された優先度に応じて変更されるようになる。すなわち、優先度に応じて各ページの配置を変更することができるためページの好適な分散配置が可能にもなる。
【００８３】
（６）各ページの配置が、優先度が高いページの応答性が高くなるように調整することができる。これにより、例えばＩ／Ｏインターフェース７０を用いる処理に関する応答性が高くなりユーザの利便性が向上する。
【００８４】
（７）車両２０に搭載される車載情報処理装置２２におけるプログラムのページの配置が、車載された各種装置であるマイク２４やスピーカ２５に対応するＩ／Ｏインターフェース７０へのアクセス態様に応じて定められるようになる。これにより、車載されたマイク２４やスピーカ２５などにアクセスするページの優先度を高くしたりすることもできるとともに、当該優先度に応じてページを好適に配置するように調整することもできるようになる。
【００８５】
（８）優先度の低い又は設定されないページがサーバ１０に配置されるようになるため、車載情報処理装置２２としてのプログラムの処理負荷が低下するようになるとともに、Ｉ／Ｏアドレス５１に近いページは車両２０に配置して処理速度の維持を図るようにすることができるようになる。これにより、プログラムの処理負荷の増加が生じた場合であれ、ページを好適に分散配置させて、処理負荷の増加に対応することができるようになる。
【００８６】
（その他の実施形態）
なお、上記実施形態は、例えば以下のような態様にて実施することもできる。
・上記実施形態では、車載記憶装置２３がＨＤＤから構成されている場合について例示した。しかしこれに限らず、車載記憶装置は、必要な情報を記憶することができる不揮発性の記憶装置であれば、フラッシュメモリや、ソリッドステートドライブ（ＳＳＤ）などであってもよい。これにより、情報処理システムの構成の自由度の向上などが図られるようになる。
【００８７】
・上記実施形態では、Ｉ／Ｏインターフェース７０には車両速度を検出するセンサ２６が１つ接続される場合について例示した。しかしこれに限らず、センサは、車両に備えられているセンサであれば、車両の加減速度を検出するものや、エンジンの回転数を検出するものや、ステアリング角度を検出するものや、エンジンなどの温度計や、ＧＰＳなどの位置を検出するものや、湿度計などの情報が入力されてもよい。
【００８８】
また、Ｉ／Ｏインターフェースに接続されるセンサの数も１つに限らず、２つ以上接続されていてもよい。これにより、情報処理システムの構成の自由度の向上などが図られるようになる。
【００８９】
・上記実施形態では、優先度「０」が設定されているページから０〜２つの他のページ介するページには優先度「１」を設定し、同３つ以上の他のページを介するページには優先度「２」を設定する場合について例示した。しかしこれに限らず、優先度を設定する際、介する他のページの数は任意に設定可能である。例えば、当該ページからＩ／Ｏアドレスにアクセスするページまでの数を算出して、当該算出された数をページの優先度として付すようにしてもよい。これにより、優先度の設定、すなわちページの再配置をより一層適切に行うことができるようになる。
【００９０】
・上記実施形態では、Ｉ／Ｏアドレス５１にアクセスしない、つまりデータアクセス命令を含まないページにも優先度を付す場合に付いて例示した。しかしこれに限らず、Ｉ／Ｏアドレスにアクセスしない、つまりデータアクセス命令を含まないページには優先度を付さないようにしてもよい。例えば、全てのページに予め最低の優先度を付しておくようにすることで優先度を参照することができるようになる。もしくは、優先度が設定されていないページについては、その優先度は最低レベルとしてページの再配置を行うようにすればよい。これにより、こうした情報処理装置における優先度の設定が簡単になるとともに、ページの再配置が容易になるようになる。
【００９１】
・上記実施形態では、優先度が「０」，「１」，「２」の三種類である場合について例示した。しかしこれに限らず、付された優先度に対して対応する配置先を設定することができるのであれば、優先度は四種類以上であってもよい。また、優先度が設定されないような場合、その優先度は最も低いと判断するようにしてもよい。これにより、情報処理システムの設計の自由度の向上などが図られるようになる。
【００９２】
・上記実施形態では、車両２０は、ドライバーの運転操作により運転される自動車などである場合について例示した。しかしこれに限らず、車両は、情報処理装置のＩ／Ｏインターフェースに接続された機器からデータを入出力される車両であれば、運転操作にドライバーが関与するかしないかにかかわらず、例えば、自動運転される搬送車などに適用されてもよい。
【００９３】
・上記実施形態では、車載情報処理装置２２は、車両２０を運転するドライバーに対して各種の運転操作を支援するための各種制御等を行うための装置である場合について例示した。しかしこれに限らず、車載情報処理装置は、車両に設けられている各種制御装置に対し、Ｉ／Ｏアドレスから得られるデータに基づく情報を迅速性に提供するようにしてもよい。例えば、図１に示す、センサ２６から得られた速度を対応するＩ／Ｏアドレス５１にアクセスして利用するプログラム３２〜３４が、その速度の利用がプログラムの内部的な利用であったとして迅速に利用することができるようにすることもできる。これにより、こうした情報処理装置の設計自由度や利便性が向上されるようになる。
【００９４】
・上記実施形態では、優先度に基づいて各ページを分散配置させる場合について例示した。しかしこれに限らず、各ページに付された優先度に基づいて、車載情報処理装置とサーバ情報処理装置とでの分散実行可能に各ページを再配置させ、再配置された各ページを車両とサーバとで分散処理するようにしてもよい。これによれば、車両とサーバでの処理により、プログラムの処理に要する時間を短縮させたり、特に車両の処理負荷を減少させたりすることができるようになる。
【００９５】
・上記実施形態では、優先度に基づいて、メモリ配置変更部が各ページを分散配置させる場合について例示した。しかしこれに限らず、ページとプログラムコードとの対応関係に基づいてプログラムコードの各部に優先度を対応付け、当該対応付けられた優先度に基づいて当該プログラムを車両とサーバとで分散処理可能なプログラムに再構築するようにしてもよい。これによれば、分散配置可能なプログラムの作成が支援されるとともに、プログラムの動的な評価に基づいて、分散処理可能なプログラムを作成することができ、これによってプログラムの車両における処理時間の短縮や処理負荷の軽減を図ることができるようになる。
【符号の説明】
【００９６】
１０…サーバ、１１…サーバ通信装置、１２…サーバ情報処理装置、１３…サーバ記憶装置、２０…車両、２１…車載通信装置、２２…車載情報処理装置、２３…車載記憶装置、２４…マイク、２５…スピーカ、２６…センサ、３０…ＣＰＵ、３１…ＯＳ、３２〜３４…プログラム、４０…メモリ管理ユニット（ＭＭＵ）、４１…ページテーブル、４２…アドレス変換部、４３…優先度設定部、４４…優先度テーブル、４５…メモリ配置変更部、５０…メモリコントローラ、５１…Ｉ／Ｏアドレス、５２…内部アドレス、６０…ＲＯＭ（不揮発性メモリ）、６１…ＲＡＭ（揮発性メモリ）、７０…Ｉ／Ｏ（入出力）インターフェース。
【図１】
2013134680.tif 000003
【図２】
2013134680.tif 000004
【図３】
2013134680.tif 000005
【図４】
2013134680.tif 000006
【図５】
2013134680.tif 000007
【図６】
2013134680.tif 000008
【図７】
2013134680.tif 000009