JP2001297006A - 半導体集積回路装置および情報処理システム - Google Patents

半導体集積回路装置および情報処理システム

Info

Publication number
JP2001297006A
JP2001297006A JP2000114492A JP2000114492A JP2001297006A JP 2001297006 A JP2001297006 A JP 2001297006A JP 2000114492 A JP2000114492 A JP 2000114492A JP 2000114492 A JP2000114492 A JP 2000114492A JP 2001297006 A JP2001297006 A JP 2001297006A
Authority
JP
Japan
Prior art keywords
data
bus
program
semiconductor integrated
integrated circuit
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
Application number
JP2000114492A
Other languages
English (en)
Inventor
Yasuhiro Sagesaka
康博 提坂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2000114492A priority Critical patent/JP2001297006A/ja
Publication of JP2001297006A publication Critical patent/JP2001297006A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)
  • Microcomputers (AREA)
  • Memory System (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 外部メモリからオンチップRAM上にデータ
をダウンロードする場合に、ダウンロード時間を短くす
るとともに、ダウンロード中に中央演算処理ユニットの
処理能力を低下させない半導体集積回路装置を提供する
ことにある。 【解決手段】 演算処理を行う中央演算処理ユニット
(10)と、中央演算処理ユニット(10)によりデー
タアクセス可能な内蔵RAM(12)と、圧縮データを
伸張する伸張回路(163)と、内蔵RAM(12)上
に展開されるデータを伸張回路(163)を通過させて
内蔵RAM(12)に送るか或いは直接内蔵RAM(1
2)に送るか何れかを選択可能なセレクタとが、1個の
半導体基板上に設けられている。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、例えばCPUと
RAMとが1個の半導体チップに設けられているマイク
ロプロセッサに適用して有用な技術に関し、更にはこの
ようなマイクロプロセッサを搭載した種々の情報処理シ
ステムに利用して特に有用な技術に関する。
【0002】
【従来の技術】近年、CPU(中央演算処理ユニット)
と大容量のDRAMやSRAMが1チップに搭載された
マイクロプロセッサが開発され、PDAやノートPCな
どの携帯型情報端末、あるいは衛星放送やケーブルテレ
ビ用のチューナー、並びにインターネットを介して通話
を行うVOIP(Voice Over Internet Protocol)シス
テムなどの情報家電においてメインの制御装置として用
いられている。
【0003】上記のようなオンチップRAMを備えたプ
ロセッサにおいては、プログラムの実行方法としてRO
MやフラッシュROMなど外部メモリに記憶されている
プログラムを一旦オンチップRAMにダウンロードし、
その後、プログラムの命令をオンチップRAMからCP
Uに読み出して実行させる方法と、オンチップRAMを
使用せずに直接CPUが外部メモリにアクセスして命令
を読み込んで実行する方法とがある。
【0004】
【発明が解決しようとする課題】これらの内、オンチッ
プRAMを使用してプログラムを実行させる方法は、高
速な内部バスを使用して命令を読み込むことができるた
めプログラムの実行速度が向上すると共に、1チップ上
での動作で済むことから消費電力の低減も図れるという
利点がある反面、外部メモリからオンチップRAMにプ
ログラムをダウンロードするのに余計な時間を要すると
いう欠点がある。
【0005】また、近年の携帯型情報端末などではその
システム規模が増大し、CPUの処理はマルチタスク化
していると共に、大容量とは云えオンチップRAMの容
量は限られているため、複数のプログラムをオンチップ
RAMを使用してマルチタスクに実行させようとする
と、常に一定のプログラムをオンチップRAMに格納し
ておくわけにはいかず、CPUのタスクが切り換わる毎
に外部メモリからオンチップRAMにプログラムをダウ
ンロードしてオンチップRAMの格納プログラムを切り
換える必要がある。
【0006】しかしながら、外部メモリからオンチップ
RAMにデータをダウンロードする時間は、未だ無視で
きないレベルにあり更なる高速化が望まれている。
【0007】また、本発明と直接的に関係はないが本発
明と比較しえる構成として特開平7−281904号に
開示の「情報処理装置及び情報処理装置のプログラム格
納方法」がある。この情報処理装置は、図9に示すよう
に、プログラムを格納したEPROM201と、上位装
置から新しいプログラムをダウンロードして格納可能な
フラッシュROM202と、プログラムの実行時に上記
EPROM又はフラッシュROMに格納されているプロ
グラムコードや制御データが展開されるRAM203
と、プログラムを実行するMPU(Micro Processing U
nit)204とを備え、EPROM201やフラッシュ
ROM202内のプログラムの内、フラッシュROM2
02に圧縮した制御用プログラムと解凍用プログラムを
含ませたものである。そして、フラッシュROM202
のプログラムをRAM203上に展開する場合に、先ず
RAM203に解凍用プログラムを転送し、次にこの解
凍用プログラムを使用して、フラッシュROM202に
圧縮されて格納されている制御プログラム#1を解凍し
ながらRAM203に展開するように構成されている。
【0008】この情報処理装置の目的は、フラッシュR
OM202の容量を越えるプログラムを外部からダウン
ロードできるようにするため、ソフトを圧縮・伸張でき
るようにしたものであって、伸張処理はフラッシュRO
M202に格納された解凍用プログラムに基づきMPU
204が行っている。従って、プログラムの伸張処理を
行っている間はMPU204が本来目的としている処理
が出来ないか、或いはその処理能力が低下するといった
不具合を発生させる。
【0009】本発明の目的は、例えば外部メモリからオ
ンチップRAM上にプログラムをダウンロードする場合
に、ダウンロード時間を短くするとともに、ダウンロー
ド中に中央演算処理ユニットの処理能力を低下させない
半導体集積回路装置並びに情報処理システムを提供する
ことにある。
【0010】この発明の前記ならびにそのほかの目的と
新規な特徴については、本明細書の記述および添附図面
から明らかになるであろう。
【0011】
【課題を解決するための手段】本願において開示される
発明のうち代表的なものの概要を説明すれば、下記のと
おりである。
【0012】すなわち、演算処理を行う中央演算処理ユ
ニットと、該中央演算処理ユニットによりデータアクセ
ス可能な内部メモリと、圧縮データを伸張する伸張回路
と、上記内部メモリ上に展開されるデータを上記伸張回
路を通過させて内部メモリに送るか或いは直接内部メモ
リに送るか何れかを選択可能なセレクタとが、1個の半
導体基板上に設けられている半導体集積回路装置とし
た。
【0013】このような構成によれば、上記の内部メモ
リ上に展開するプログラムやデータを圧縮して送ること
ができるので、圧縮により大幅にデータ量を少なくでき
る分、データ転送にかかる時間を大幅に短縮することが
できる。さらに、圧縮データの伸張は中央演算処理ユニ
ットではなく伸張回路が行うので、内部メモリ上にデー
タを展開している間も中央演算処理ユニットの負荷はそ
れほど高くならず、中央演算処理ユニットは処理能力を
あまり落とさずに任意の処理を続行することが出来る。
また、非圧縮のコードやデータはセレクタにより伸張回
路を通さないように制御できるので、非圧縮データの転
送処理は通常通り行える。
【0014】望ましくは、アドレス信号を伝送するアド
レスバス、データ信号を伝送するデータバス、および上
記伸張回路により伸張された伸張データが伝送される伸
張データ専用パスをそれぞれ備え、上記伸張回路を通過
した伸張データは上記伸張データ専用バスを介して上記
内部メモリに伝送されるように構成する。
【0015】このように構成することで、内部メモリ上
へデータを展開するためにデータバスが占有されること
がないので、内部メモリ上へのデータの展開中に中央演
算処理ユニットはデータバスを使用することが出来る。
それゆえ、データの展開中も中央演算処理ユニットはデ
ータバスを用いて任意の処理を続行することが出来る。
【0016】また望ましくは、外部から送られてくる信
号を上記アドレスバス、データバスおよび伸張データ専
用バスからなる内部バスのプロトコルに整合させて該内
部バスに転送する外部バスインターフェースを備え、上
記セレクタおよび上記伸張回路は上記外部バスインター
フェースの前段に設けられ、外部から送られてくる圧縮
データは順次上記セレクタ、伸張回路、外部バスインタ
ーフェースを介して上記内部メモリに送られるように構
成する。
【0017】また、上記内部バスに外部メモリを直接接
続可能なように該内部バスの状態を制御するバスステー
ト制御回路を備え、上記中央演算処理ユニットからの制
御信号に基づいて該バスステート制御回路が上記セレク
タの選択制御を行うように構成する。
【0018】このように構成することで、外部から送ら
れてくる圧縮データに対してセレクタの切換え動作や内
部バスの制御を容易に整合させることが出来る。
【0019】また、本発明の情報処理システムは、上述
の半導体集積回路装置と、該半導体集積回路装置により
実行されるプログラムコードおよび制御データが記憶さ
れる外部メモリとを備え、上記半導体集積回路装置と外
部メモリとが上記半導体集積回路装置の内部バスより低
速に動作するシステムバスに接続されている情報処理シ
ステムにおいて、上記外部メモリに記憶されたプログラ
ムコードおよび制御データには圧縮されたデータと非圧
縮のデータとが含まれ、これらのうち圧縮されたデータ
は上記半導体集積回路装置内の伸張回路を通って上記内
部メモリに展開され、該内部メモリから上記中央演算処
理ユニットに読み出されて実行されるように構成する。
【0020】このような情報処理システムによれば、低
速なシステムバスを介して半導体集積回路装置内部の内
部メモリにプログラムコードや制御データを転送する際
に、圧縮してデータサイズを大幅に小さくしたプログラ
ムコードや制御データを転送できるので、転送時間を大
幅に短縮することが出来る。また、圧縮プログラムや圧
縮データの伸張は伸張回路により行うので中央演算処理
ユニットの負荷を高めることがない。さらに、システム
バスに接続された外部メモリ(例えばROMやフラッシ
ュメモリ)に格納されるプログラムコードや制御データ
の一部を圧縮しておけるので、プログラムコードや制御
データの容量を実際のものより多く蓄えておくことが出
来る。
【0021】また、上記外部メモリにはプログラムのど
の部分が圧縮コードであるかを示すコード態様情報が記
憶されるように構成する。そして、上記圧縮プログラム
や圧縮データの伸長は上記コード態様情報に基づいて行
うようにする。
【0022】
【発明の実施の形態】以下、本発明の好適な実施例を図
面に基づいて説明する。
【0023】図1は、本発明を適用して好適なプロセッ
サ(半導体集積回路装置)を示す概略構成図、図2は、
図1のバス制御&インターフェース回路の部分を詳細に
示したブロック図である。
【0024】この実施例のプロセッサ1は、順次命令コ
ードをフェッチして各種演算処理を行うCPU(中央演
算処理ユニット)10と、外部に設けられた主記憶装置
(例えば外部メモリ40)のデータや内蔵RAM12の
データの一部を一時的に写してCPU10に高速にアク
セスさせるキャッシュメモリ11と、例えば4Mバイト
など大容量のSDRAM(Synchronous Direct Random
Access Memory)からなる内部メモリとしての内蔵RA
M12と、該内蔵RAM12のアドレス管理を行うMM
U(Memory Management Unit)13と、CPU10から
の指示により内蔵RAM12へのデータ転送をCPU1
0の動作と独立して行うDMAC(Direct Memory Acce
ss Control)機能回路14と、割込み機構やタイマおよ
びシリアルインターフェース等の周辺機能回路15と、
およびCPU10や内蔵RAM12が接続される内部バ
ス20の制御および外部システムバス30と信号の送受
信を行うバス制御&インターフェース回路16とを備
え、例えばシリコンのような1個の半導体チップ上に形
成されている。
【0025】そして、上記プロセッサ1は、外部のシス
テムバス20を介して例えばフラッシュメモリやRAM
等からなる相対的に遅いが大容量の外部メモリ40に接
続されている。
【0026】上記のバス制御&インターフェース回路1
6は、図2に示すように、外部システムバス30と内部
バス20との間でプロトコルを調整する外部バスインタ
ーフェースとしてのバスコントローラ161と、CPU
10、内蔵RAM12、DMAC機能回路14、バスコ
ントローラ161および外部システムバス30等のバス
権獲得要求に対してバス権を与えるバス調停回路162
と、所定の方式(例えばV.42bis、LZ、MH、
MR、MMR方式など)で圧縮されたデータを伸張する
伸張回路163と、外部システムバスから送られてくる
データを伸長回路163を経由する側と経由しない側と
に選択してバスコントローラ161側に送るセレクタ1
64と、内部バス20の物理アドレス空間を外部メモリ
に対応させたり、特に制限されないが外部メモリのリフ
レッシュ制御を行うなどして内部バス20に直接外部メ
モリを接続可能とするバスステート制御部165とを備
えている。
【0027】バスステート制御部165からは、外部メ
モリ40から圧縮プログラムや圧縮データを内蔵RAM
12にダウンロードする際にCPU10又はDMAC機
能回路14から出力される伸長ダウンロードコマンドに
基づき上記セレクタ164とマルチプレクサ121にダ
ウンロード制御信号が出力されるようになっている。
【0028】内部バス20は、データバス21、アドレ
スバス22、外部メモリから伸長後のプログラムコード
やデータを内蔵RAM12に転送する際に使用される伸
長データ専用バスとしてのダウンロード専用バス23、
その他、バス調停回路162との間でバス権獲得の要求
信号やバス権を与える信号が転送されるアービトレーシ
ョンバスなどを備えて構成される。
【0029】上記内蔵RAM12は、アドレスバス22
とは直接続されデータバス21およびダウンロード専用
バス23とはマルチプレクサ121を介して接続可能に
され、バスステート制御部165から出力されるダウン
ロード制御信号により何れか一方のバスがRAM12に
接続される。具体的には、バスステート制御部165か
ら出力されるダウンロード制御信号がハイレベルにされ
ると、マルチプレクサ121はダウンロード専用バス2
3側に接続を切り換え、それ以外の時にはデータバス2
1側にデータ転送可能な状態に制御される。
【0030】同様にセレクタ164は、バスステート制
御部165から出力されるダウンロード制御信号がハイ
レベルにされると伸長回路163側の経路を有効とし、
その他の場合には伸長回路163を通らない側の経路を
有効とする。なお、バスステート制御部165からセレ
クタ164とマルチプレクサ121にそれぞれ別々の制
御信号が出力されるように構成してもよく、そうするこ
とで非圧縮プログラムや非圧縮データを内蔵RAM12
にダウンロードする際に、これらプログラムやデータを
伸長回路163を通さずにダウンロード専用バス23を
使用してデータ転送させることも出来る。
【0031】次に、C++言語などの高級言語で作成さ
れたプログラムのソースコードを上記プロセッサ1に対
応したアセンブリや機械語に翻訳するコンパイラシステ
ムについて説明する。
【0032】このコンパイラシステムは、ホストコンピ
ュータで構成され、プログラムのソースコードの各サブ
ルーチン毎或いは各関数毎又は各番地毎に、翻訳語のコ
ードが次の3つのコード態様の何れかになるように選択
指定可能なコード態様指定機能を備えている。上記3つ
のコード態様とは、プログラムコードを外部メモリ40
から直接CPU10に1命令ずつ読み込ませる(キャッ
シュメモリ11の介在を含む)直接態様と、一旦内蔵R
AM12にダウンロードしてからCPU10に読み込ま
せるさせる通常ダウンロード態様と、圧縮データの形式
でプログラムを保存しておき伸長させながら内蔵RAM
12にダウンロードしてCPU10に読み込ませる伸長
ダウンロード態様とである。
【0033】これらのうち、直接態様と、それ以外の2
つのダウンロード態様の選択はユーザーがシステムに指
令を与えることで指定できるようになっている。また、
通常ダウンロード態様と伸長ダウンロード態様とは、コ
ンパイラが実際にプログラムコードを圧縮してその圧縮
率が設定値より高い場合に伸長ダウンロード態様が、低
い場合に通常ダウンロード態様がそれぞれ自動的に指定
されるように構成されている。
【0034】また、上記の3つのコード態様の指定を、
自動的にコンパイラが判断して行うようにしても良い。
コンパイラによる自動判断処理は、例えば、ソースコー
ドに含まれる各サブルーチンや関数の夫々について呼び
出される可能性のある回数を計数し、呼び出される可能
性が多いものを通常ダウンロード態様又は伸長ダウンロ
ード態様に指定し、それらを一旦圧縮して圧縮率の高い
ものを伸長ダウンロード態様に指定するようにすること
で実現できる。
【0035】図3には、上記コンパイラシステムによる
ソースコードのコンパイルからプログラムが図1のシス
テムにロードされて実行されるまでのプログラムコード
の状態変化のチャートを示す。図中、(a)はプログラ
ムのソースコード、(b)はコンパイルおよびアセンブ
ル後の段階、(c)は図1のシステムの外部メモリ(メ
インメモリ)40に格納した段階、(d)は図1のシス
テムのプロセッサ1によりプログラムがロードされてい
る段階を示している。
【0036】同図(a)に示すように、ソースコードの
段階においてプログラムはサブルーチンや関数又は番地
指定により各プログラムコード毎に直接態様(図中「外
部プログラムコード」と示す)のものと、通常ダウンロ
ード態様或いは伸長ダウンロード態様(図中「内部プロ
グラムコード」と示す)のものとに区分される。
【0037】コンパイルおよびアセンブルを行うと、図
3(b)に示すように、直接態様のものは通常通りのプ
ログラムコード(図中「外部プログラムコード」と示
す)に変換され、通常ダウンロード態様或いは伸長ダウ
ンロード態様のものはコンパイルとアセンブルの後に一
旦所定の圧縮処理が行われて圧縮率が設定値以上のもの
は伸長ダウンロード態様として圧縮されたコードに変換
され、圧縮率が設定値以下のものは通常ダウンロード態
様として圧縮される前のコードに戻される。そして、各
プログラムコードに論理的な番地「$A1〜$R1」が
付与される。
【0038】また、図には省略しているが、プログラム
の一部(例えば初期段階に実行されるダウンローダルー
チンの中)には、プログラムのどの部分がどの態様であ
るかを認識可能なコード態様情報としてのコード態様認
識情報が含まれ、このコード態様認識情報に基づいてプ
ログラムの開始時にCPU10が適宜対応したプログラ
ムのダウンロード処理が行われるようになっている。コ
ード態様認識情報は、特に制限されないが、例えばプロ
グラムを番地順に沿って各態様ごとにブロック分けし、
例えば番地「$C1〜$D1」が伸長ダウンロード態
様、番地「$M1〜$N1」が通常ダウンロード態様と
云うように、各ブロック毎にその態様種別とブロックの
開始番地および終了番地とを対応付ける情報である。
【0039】そして、プログラムは図3(c)に示すよ
うに図1のシステムの外部メモリ40に格納される。ま
た、このとき上記コード態様認識情報と番地との対応も
外部メモリ40に格納される。
【0040】図1のシステムのCPU10によるプログ
ラムのダウンロードは、上記コード態様認識情報に基づ
くCPU10のコマンドにより、伸長ダウンロード態様
のプログラムコードは伸長回路163を通過する経路
で、通常ダウンロード態様のプログラムコードは伸長回
路163を通過しない経路で、それぞれ内蔵RAM12
にダウンロードされる。
【0041】詳細には、CPU10は先ず外部メモリ4
0から上記コード態様認識情報を読み出してその情報に
基づいてプログラムコードを各ブロック毎に、外部メモ
リ40の或るアドレスから或る量のデータを内蔵RAM
12に転送させるコマンドをDMAC機能回路14に出
力すると共に、伸長ダウンロード態様のプログラムコー
ドに関しては伸長回路163とダウンロード専用バス2
3を使用して内蔵RAM12にデータ転送を行わせるコ
マンドをバスステート制御部165に出力する。する
と、これらコマンドによりバスステート制御部165か
ら所定のダウンロード制御信号が出力されると共に、C
PU10の動作と独立してDMAC機能回路14がプロ
グラムコードの指示された所定ブロックのデータ転送の
処理が行われる。
【0042】具体的には、ダウンロードされるプログラ
ムが伸長ダウンロード態様の内部圧縮プログラムコード
の場合には、CPU10からダウンロード制御信号によ
ってセレクタ164が伸長回路163側に、マルチプレ
クサ121がダウンロード専用バス23側にそれぞれ切
り換えられる。そして、この状態でDMAC機能回路1
4が動作して、外部メモリ40を直接アクセスして、プ
ログラムコードの1ブロック分のデータが連続的に読み
出して内蔵RAM12に転送させる。
【0043】このようなデータ転送処理によれば、内部
圧縮プログラムコードのダウンロード時にCPU10に
多大な負荷がかからず、内部バス20もダウンロード専
用バス23のみ占有されるのみなので、CPU10に他
の処理を継続させながら並行してダウンロード処理を行
うことが出来る。
【0044】内蔵RAM12にダウンロードされたプロ
グラムコードには、図3(d)に示されるように、プロ
グラムのシーケンス処理で使用される番地「$A2〜$
J2」が付与される。そして、CPU10により内蔵R
AM40にダウンロードされた内部プログラムコードは
順次プログラムの流れに従ってフェッチされて実行され
ていく。直接態様のプログラム実行の際、外部メモリ4
0に格納された外部プログラムのコードのフェッチなど
には、伸長回路163やダウンロード専用バス23は使
用されず、データバス21とアドレスバス22とを使用
して命令フェッチとデータ転送が行われる。
【0045】図4には、システム起動時に読み込まれる
ソフトウェアのデータチャートを、図5にはこのソフト
ウェア中に含まれ初期設定やオペレーションシステム等
のメインプログラムを読み込む起動処理専用のブートロ
ーダーの一例を示すフローチャートを示す。
【0046】このソフトウェアはシステムの起動時にC
PU10により初めて読み込まれて実行されるシステム
ブート用のソフトウェアであり、上述のコンパイル処理
により前記実施例と同様に外部プログラムコードと内部
プログラムコード、並びにダウンロードの際に伸長処理
される内部圧縮プログラムコードとにブロック分けされ
て外部メモリ40に格納される。
【0047】また、このプログラムコードの途中、CP
U10により初期の段階で実行に移される番地「$I
1」には、システムの初期設定を行う処理プログラム
と、内部プログラムコードを内蔵RAM12にダウンロ
ードするダウンローダの処理プログラムとからなるブー
トローダーが作成されている。
【0048】図5に示すように、このブートローダーに
は、システム初期設定処理(ステップS1)と、内部プ
ログラムコードや内部圧縮プログラムコードを内蔵RA
M12にダウンロードするダウンローダ処理(ステップ
S2〜S6)と、その後のメインプログラムの起動並び
にアプリケーションや各種ファームウェアの実行処理
(ステップS7,S8)とが含まれている。
【0049】ダウンローダ処理は、始めに伸長方式の設
定を行い、その後、圧縮されているプログラムコードを
ブロック単位で伸長ダウンロードする処理を行うもので
ある。上記伸長方式の設定処理は、伸長回路163が複
数種類の伸長方式を有し、その何れかがバスステート制
御部165から出力される制御信号により選択可能に構
成されているとして設けられたものである。それゆえ、
伸長回路163の伸長方式が一種類しかない場合はステ
ップS2の伸長方式設定処理は省略される。
【0050】上記システム起動時のブートローダーで実
行されるダウンローダ処理においては、ダウンロード時
に内蔵RAM12は空の状態であるため、予め内部圧縮
プログラムコードの伸長後のデータ容量を算出してお
き、内蔵RAM12への登録先アドレスや登録データ量
を指定しておくようにする。このように構成することで
起動時のダウンロード処理をより高速に行うことが出来
る。
【0051】図6は、上記実施例のプロセッサ1を組み
込んだ情報処理システムであるVOIP(Voice Over I
nternet Protocol)システムの構成を示すブロック図で
ある。
【0052】同図において、51はキーボードなどの入
力装置、52は液晶ディスプレーなどの表示装置、53
はインターネットと接続可能な通信デバイス、54は音
声信号とデジタル信号とを変換する音声入出力デバイス
でありスピーカやマイクと接続されている。
【0053】上記のようなVOIPシステムでは、プロ
セッサが処理するミドルウェアとして複数種の音声圧縮
伸長処理、エコーキャンセラー、およびTCP/IPな
どのインターネット用通信プロトコルなどが必要とさ
れ、さらに制御用ソフトウェアとしてオペレーションシ
ステム、その他のネットワークプロトコル、VOIPア
プリケーション、および周辺機器のドライバ等が使用さ
れる。
【0054】上記システムにおいて同じ音声圧縮処理を
外部メモリ40のみを使用して行った場合と、ミドルウ
ェアを内蔵RAM12に格納して行った場合とでは、そ
の処理能力に次のような違いがでてくる。
【0055】例えば、VOIPの回線数を3ch、プロ
セッサの動作速度を133MHzとして所定単位の処理
を行ったとすると、外部メモリ40のみを使用した場
合、音声圧縮伸長処理に25MHz×3ch=75MH
z、エコーキャンセラーに15MHz×3ch=45M
Hz、インターネット用通信プロトコルに5MHz、オ
ペレーションシステムに10MHz、ネットワークプロ
トコルに15MHzで、総合処理量は150MHzとな
る。
【0056】一方、内蔵RAM12にミドルウェアを格
納した場合には、音声圧縮伸長処理に20MHz×3c
h=60MHz、エコーキャンセラーに12MHz×3
ch=36MHz、インターネット用通信プロトコルに
5MHz、オペレーションシステムに10MHz、ネッ
トワークプロトコルに15MHzで、総合処理量は12
6MHzとなり、パフォーマンスが向上することが分か
る。
【0057】さらに、ミドルウェアを内蔵RAM12に
ダウンロードする際に、上述の内部圧縮プログラムコー
ドを用いて伸長回路163で伸長しながらダウンロード
することで、内部バス20に較べて低速な外部システム
バス30を使用したダウンロードでも次のように大幅に
時間の短縮を図ることが出来る。
【0058】例えば、圧縮方式にV42bisを用いた
場合、プログラムコードは約1/2〜1/4程度に圧縮
可能であり、画像データ等のデータは最大1/100程
度に圧縮可能である。内部バス20の動作速度を133
MHz、外部システムバス30のバススピードを66M
Hz、バス幅を32bit、内部バス20のリード・ラ
イトのサイクルを1サイクル、外部システムバス30の
リード・ライトのサイクルを2サイクル、伸長回路16
3を通して転送する際のオーバーヘッドを1サイクル、
2Mバイトのプログラムコードが1/8に圧縮されたと
すると、圧縮プログラムコードを伸長回路163とダウ
ンロード専用バス23を使用してダウンロードするの
と、非圧縮でデータバス21を使用してダウンロードす
るのでは、次のように違いがでてくる。
【0059】すなわち、非圧縮でダウンロードした場
合、(2Mbyte(データサイズ)/4byte(バ
ス幅))×(1cycle/133MHz+2cycl
e×1/66MHz)=19.83msのダウンロード
時間となるのに対して、圧縮データを伸長しながらダウ
ンロードした場合、(0.25Mbyte(圧縮データ
サイズ)/4byte)×2cycle×1/66MH
z+(2Mbyte(伸長後データサイズ)/4byt
e)×2(伸長時のオーバーヘッドとリードライトサイ
クル)×1/133MHz=5.92msのダウンロー
ド時間となり約70%短縮される。
【0060】内蔵RAM12の容量は限られているた
め、特にマルチタスク処理を行うシステムの場合に、ミ
ドルウェアは必要なときに内蔵RAM12にダウンロー
ドして使用することが想定されるが、上記ダウンロード
時間の短縮によりミドルウェアを瞬時にダウンロードし
てリアルタイムで実行させることが可能となる。
【0061】以上のように、上記実施例のプロセッサ1
によれば、チップに内蔵された伸長回路163やセレク
タ164により、内蔵RAM12上に展開するデータを
圧縮して送ることができるので、データ転送にかかる時
間を大幅に短縮することができる。さらに、圧縮データ
の伸張はCPU10ではなく伸張回路163が行うの
で、内蔵RAM12上にデータを展開している間も中央
演算処理ユニットの処理能力をあまり落とさずに任意の
処理を続行することが出来る。また、非圧縮のプログラ
ムやデータはセレクタにより伸張回路を通さないように
制御できるので、非圧縮データの転送処理も通常通り行
える。
【0062】また、チップ内部のバスにダウンロード専
用バス23を備え、圧縮データを伸長して内蔵RAM1
2に展開する際、内部のデータバス21を使用せずにダ
ウンロード専用バス23を使用するので、内部バス21
は占有されずに他の処理に使用することが出来る。
【0063】また、伸長回路163をバスコントローラ
161の前段に設けたり、セレクタ164の制御をバス
ステート制御部165に行わせることで、外部から送ら
れてくる信号に対してセレクタの切換え動作や内部バス
の制御を比較的容易に整合させることが出来る。
【0064】また、上記実施例のプロセッサ1を搭載し
た情報処理システムによれば、プロセッサ1による上述
の作用により情報処理システムのパフォーマンスが向上
するとともに、情報処理システム内に記憶されるファー
ムウェアやミドルウェアを圧縮しておけるので、備わる
記憶装置の容量が少なくても、それより大きなデータを
格納しておくことが出来るという効果も得られる。
【0065】以上本発明者によってなされた発明を実施
例に基づき具体的に説明したが、本発明は上記実施例に
限定されるものではなく、その要旨を逸脱しない範囲で
種々変更可能であることはいうまでもない。
【0066】例えば、上記実施例では、内蔵RAM12
に展開するプログラムコードやデータをプログラムの起
動時に一括してダウンロードする方式を説明したが、一
括にダウンロードするのではなく、プログラムの実行中
に或るモジュールが必要となった場合に、このターゲッ
トモジュールの伸長とダウンロードの命令をCPU10
から発行させて、伸長処理と内蔵RAM12へのダウン
ロード処理とを行うようにしても良い。それにより、内
蔵RAM12へ展開するプログラムコードやデータの容
量がメモリ容量を上回るような場合でも、効率的に内蔵
RAM12を使用することが出来る。
【0067】また、内蔵RAM12にプログラムをダウ
ンロードする際に使用されるコード態様認識情報とし
て、圧縮または非圧縮の情報、開始番地と終了番地、圧
縮時のデータ容量に加えて、伸長後のデータ容量を付加
しても良く、それにより、伸長後のデータが内蔵RAM
12の空き容量に収まるか否か容易に確認できるように
なり、収まらない場合には使用しないモジュールのプロ
グラムコードを内蔵RAM12から排除するなどのメモ
リ管理をすばやく行えるなど、ダウンロード処理のパフ
ォーマンスを向上させることが出来る。
【0068】また、内蔵RAM12を複数の領域に分割
しておき、1つの領域で内部バス21を介したデータ転
送を行っている間に、他の領域でダウンロード専用バス
23を介してデータのダウンロードを行えるように構成
しても良く、このように構成することで内蔵RAM12
のある領域のプログラムをCPU10が実行している間
に、他の領域に他のプログラムのダウンロードを行うと
いった並列処理が可能となる。それにより、マルチタス
クでプログラム処理を行うようなシステムにおいて、或
るプログラムの実行中に他のプログラムを内蔵RAM1
2上に入れ替えることが可能となり、複数のプログラム
処理をリアルタイムで切り換えて実行すると云った高速
処理が可能となる。
【0069】また、伸長回路の配置やプログラムを記憶
する記憶装置の所在についても次の図7や図8に示すよ
うな変形例がありえる。
【0070】図7は、本発明の半導体集積回路装置の第
1変形例を示す概略構成図である。
【0071】この変形例は、伸長回路163をバスコン
トローラ161の手前でなく、バスコントローラ161
より内蔵RAM12側に設けた例である。このような構
成においては、外部メモリ40からダウンロードされる
プログラムコードやデータはバスコントローラ161か
ら内部バス20に転送された後、伸長回路163で伸長
されて内蔵RAM12上に展開されることになる。
【0072】図8は、本発明の半導体集積回路装置の第
2変形例を示す概略構成図である。
【0073】この変形例は、電源をオフしても記憶内容
を保持可能なROMやフラッシュメモリ等の記憶装置1
8をチップ内部に備えたプロセッサの場合である。この
ようなプロセッサの場合、上記記憶装置18にミドルウ
ェアなどのプログラムを格納しておき、これらのプログ
ラムコードやデータを伸長回路163で伸長して内蔵R
AM12に展開し、CPU10により実行させるという
ものである。伸長回路163は図1の箇所に設けること
も図2の箇所に設けることも可能である。
【0074】このようなプロセッサによれば、プログラ
ムを内蔵RAM12上にダウンロードする際に高速な内
部バスを使用できるので、このダウンロード時間を更に
短縮できるという効果が得られる。それに加えて、記憶
装置18に格納するプログラムを圧縮しておけるので、
容量の限られた記憶装置18により多くのコマンドコー
ドやデータを格納することが出来るといった効果も得ら
れる。
【0075】また、コード態様認識情報も外部メモリで
なくプログラムと一緒に上記のチップ内部の記憶装置1
8に格納される。また、図1のようなシステムにおいて
も、コード態様認識情報を外部メモリ40に格納してお
くのではなく、MMUに記憶させたり、別個プロセッサ
内にコード態様認識情報を記憶するレジスタ等を設け
て、該レジスタに格納しておくようにしても良い。この
コード態様認識情報の格納はプログラムを図1のシステ
ムにロードする際に行うようにしたり、プログラムの1
回目の起動時に格納し、2回目以降の起動にはこの格納
されたコード態様認識情報を使用してプログラムのダウ
ンロードを行うように構成することも可能である。
【0076】以上の説明では主として本発明者によって
なされた発明をその背景となった利用分野である情報処
理システムに搭載されるメイン制御用のプロセッサにつ
いて説明したがこの発明はそれに限定されるものでな
く、例えば信号処理用のDSP(Digital Signal Proce
ssor)など、中央演算処理ユニットを搭載した種々の半
導体集積回路装置に利用することができる。
【0077】
【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば下記
のとおりである。
【0078】すなわち、本発明に従うと、プログラムや
データをチップに内蔵したRAM上にダウンロードする
際に、データ転送にかかる時間を大幅に短縮でき、且
つ、このデータ転送処理により中央演算処理ユニットの
負荷を高めることがないという効果がある。
【図面の簡単な説明】
【図1】本発明を適用して好適な半導体集積回路装置の
実施例を示す概略構成図である。
【図2】実施例の半導体集積回路装置のバス制御&イン
ターフェース回路部を詳細に示すブロック図である。
【図3】実施例の半導体集積回路装置により実行される
プログラムのソースコードからメモリに転送されるまで
のプログラムコードの状態変化を示すチャートである。
【図4】システム起動時に読み込まれるソフトウェアの
データチャートである。
【図5】図4のソフトウェア中に含まれるブートローダ
ーの一例を示すフローチャートである。
【図6】実施例の半導体集積回路装置を組み込んだ情報
処理システムとしてVOIPシステムの構成を示すシス
テムブロック図である。
【図7】本発明の半導体集積回路装置の第1変形例を示
す概略構成図である。
【図8】本発明の半導体集積回路装置の第2変形例を示
す概略構成図である。
【図9】ダウンロードした圧縮プログラムを伸張してR
AM上に展開する従来構成の一例を示すブロック図であ
る。
【符号の説明】
1 プロセッサ 10 CPU 12 内蔵RAM(内部メモリ) 11 キャッシュメモリ 13 MMU 14 DMAC機能回路 15 周辺機能回路 20 内部バス 21 データバス 22 アドレスバス 23 ダウンロード専用バス 30 外部システムバス 40 外部メモリ 121 マルチプレクサ 161 バスコントローラ 162 バス調停回路 163 伸張回路 164 セレクタ 165 バスステート制御部
フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 15/78 510 G06F 9/06 420H

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 プログラムコードに従って演算処理を行
    う中央演算処理ユニットと、該中央演算処理ユニットに
    よりデータアクセス可能な内部メモリと、圧縮データを
    伸張する伸張回路と、上記内部メモリ上に展開されるデ
    ータを上記伸張回路を通過させて内部メモリに送るか或
    いは直接内部メモリに送るか何れかを選択可能なセレク
    タとが、1個の半導体基板上に設けられていることを特
    徴とする半導体集積回路装置。
  2. 【請求項2】 アドレス信号を伝送するアドレスバス、
    データ信号を伝送するデータバス、および上記伸張回路
    により伸張された伸張データが伝送される伸張データ専
    用パスをそれぞれ備え、上記伸張回路を通過した伸張デ
    ータは上記伸張データ専用バスを介して上記内部メモリ
    に伝送されるように構成されていることを特徴とする請
    求項1記載の半導体集積回路装置。
  3. 【請求項3】 上記アドレスバスおよびデータバスを有
    した内部バスに外部メモリを直接接続可能なように該内
    部バスの状態を制御するバスステート制御回路を備え、
    上記中央演算処理ユニットからの制御信号に基づいて該
    バスステート制御回路が上記セレクタの選択制御を行う
    ように構成されていることを特徴とする請求項1又は2
    に記載の半導体集積回路装置。
  4. 【請求項4】 上記請求項1〜3の何れかに記載の半導
    体集積回路装置と、該半導体集積回路装置により実行さ
    れるプログラムコードおよび制御データが記憶される外
    部メモリとを備え、上記半導体集積回路装置と外部メモ
    リとが上記半導体集積回路装置の内部バスより低速に動
    作するシステムバスに接続されている情報処理システム
    において、 上記外部メモリに記憶されたプログラムコードおよび制
    御データには圧縮されたデータと非圧縮のデータとが含
    まれ、これらのうち圧縮されたデータは上記半導体集積
    回路装置内の伸張回路を通って上記内部メモリに展開さ
    れ、該内部メモリから上記中央演算処理ユニットに読み
    出されて実行されるように構成されていることを特徴と
    する情報処理システム。
  5. 【請求項5】 上記外部メモリにはプログラムのどの部
    分が圧縮コードであるかを示すコード態様情報が記憶さ
    れていることを特徴とする請求項4記載の情報処理シス
    テム。
JP2000114492A 2000-04-17 2000-04-17 半導体集積回路装置および情報処理システム Pending JP2001297006A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000114492A JP2001297006A (ja) 2000-04-17 2000-04-17 半導体集積回路装置および情報処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000114492A JP2001297006A (ja) 2000-04-17 2000-04-17 半導体集積回路装置および情報処理システム

Publications (1)

Publication Number Publication Date
JP2001297006A true JP2001297006A (ja) 2001-10-26

Family

ID=18626285

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000114492A Pending JP2001297006A (ja) 2000-04-17 2000-04-17 半導体集積回路装置および情報処理システム

Country Status (1)

Country Link
JP (1) JP2001297006A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005076481A1 (ja) * 2004-02-10 2005-08-18 Matsushita Electric Industrial Co., Ltd. 符号化復号化装置
JP2006236236A (ja) * 2005-02-28 2006-09-07 Sony Corp 無線通信装置、通信システム、通信方法、およびプログラム
JP2007148750A (ja) * 2005-11-28 2007-06-14 Megachips Lsi Solutions Inc コンピュータ装置
US10996855B2 (en) 2017-10-16 2021-05-04 Alteryx, Inc. Memory allocation in a data analytics system
US12045477B2 (en) 2020-08-31 2024-07-23 Fujifilm Business Innovation Corp. Information processing apparatus and non-transitory computer readable medium

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005076481A1 (ja) * 2004-02-10 2005-08-18 Matsushita Electric Industrial Co., Ltd. 符号化復号化装置
KR100824174B1 (ko) * 2004-02-10 2008-04-21 마츠시타 덴끼 산교 가부시키가이샤 부호화/복호장치
US7400275B2 (en) 2004-02-10 2008-07-15 Matsushita Electric Industrial Co., Ltd. Encoding/decoding device for compressing or expanding digital data
JP2006236236A (ja) * 2005-02-28 2006-09-07 Sony Corp 無線通信装置、通信システム、通信方法、およびプログラム
JP2007148750A (ja) * 2005-11-28 2007-06-14 Megachips Lsi Solutions Inc コンピュータ装置
US10996855B2 (en) 2017-10-16 2021-05-04 Alteryx, Inc. Memory allocation in a data analytics system
US12045477B2 (en) 2020-08-31 2024-07-23 Fujifilm Business Innovation Corp. Information processing apparatus and non-transitory computer readable medium

Similar Documents

Publication Publication Date Title
US6810444B2 (en) Memory system allowing fast operation of processor while using flash memory incapable of random access
US6112303A (en) Computer system with system ROM including serial-access PROM coupled to an auto-configuring memory controller and method of shadowing BIOS code from PROM
US5652852A (en) Processor for discriminating between compressed and non-compressed program code, with prefetching, decoding and execution of compressed code in parallel with the decoding, with modified target branch addresses accommodated at run time
JP2000507015A (ja) リアルタイムプログラム言語アクセラレータ
JP2004503855A (ja) 無線携帯マルチメディア装置をサポートする統合型プロセッサプラットフォーム
JP2005010942A (ja) ブートコードが格納されるシーケンシャルアクセス・メモリデバイスを備えた装置及び前記装置の起動方法
JP2007206885A (ja) コンピュータシステム及びシステム起動方法
JP4644569B2 (ja) 複数チップの起動方法
JP2001297006A (ja) 半導体集積回路装置および情報処理システム
JP2006072989A (ja) 電子機器
JP2003186668A (ja) 命令コード変換ユニットおよび命令コード変換方法
JP2000276370A (ja) マイクロコンピュータ、電子機器及びエミュレーション方法
US6349388B1 (en) Timer processing engine for supporting multiple virtual minimum time timers
US20240069763A1 (en) Memory controller and memory access method
US20030181994A1 (en) Microprocessor performing efficient external bus access
JP2009009388A (ja) 携帯端末装置およびそのブート処理方法
US6766448B2 (en) Microcomputer for transferring program data to an internal memory from an external memory connected via a bus and a method therefor
KR100470993B1 (ko) 디에스피 프로그램 다운로드 장치 및 그 방법
WO2002075568A1 (fr) Procede et systeme monopuce permettant le chargement et l'execution d'un systeme d'exploitation specifique
JP4793798B2 (ja) マイクロコンピュータ
JP5002238B2 (ja) ディジタルシグナルプロセッサシステム及びディジタルシグナルプロセッサの起動方法
JP3097602B2 (ja) データ処理装置
JP2004013289A (ja) マイクロコントローラのオンチップデバッグ方法
GB2304209A (en) Starting up a processor system
JP2000067026A (ja) 半導体装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060302

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20070427

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081028

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090407

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090728