JPH11306084A - 情報処理装置及び記憶媒体 - Google Patents

情報処理装置及び記憶媒体

Info

Publication number
JPH11306084A
JPH11306084A JP10112961A JP11296198A JPH11306084A JP H11306084 A JPH11306084 A JP H11306084A JP 10112961 A JP10112961 A JP 10112961A JP 11296198 A JP11296198 A JP 11296198A JP H11306084 A JPH11306084 A JP H11306084A
Authority
JP
Japan
Prior art keywords
unit
data
request
cache
control
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
JP10112961A
Other languages
English (en)
Inventor
Toru Tsuruta
徹 鶴田
Yuji Nomura
祐司 野村
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP10112961A priority Critical patent/JPH11306084A/ja
Priority to US09/288,693 priority patent/US6378050B1/en
Priority to EP99303074A priority patent/EP0952528A3/en
Priority to CN99105245A priority patent/CN1125403C/zh
Priority to KR1019990014375A priority patent/KR100310958B1/ko
Publication of JPH11306084A publication Critical patent/JPH11306084A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B19/00Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
    • G11B19/02Control of operating function, e.g. switching from recording to reproducing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/25Using a specific main memory architecture
    • G06F2212/251Local memory within processor subsystem
    • G06F2212/2515Local memory within processor subsystem being configurable for different purposes, e.g. as cache or non-cache memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Microcomputers (AREA)
  • Bus Control (AREA)

Abstract

(57)【要約】 【課題】 本発明は情報処理装置及び記憶媒体に関し、
キャッシュ制御の要求及びDMA制御の要求を比較的簡
単、且つ、安価な構成を用いて効率良く処理することの
できる情報処理装置及びこのような情報処理装置を設計
するのに用いられる回路情報がハードウェア記述言語に
より格納されているコンピュータ読み取り可能な記憶媒
体を実現することを目的とする。 【解決手段】 入力要求のアドレスをデコードして前記
入力要求がキャッシュ制御の要求であるかDMA制御の
要求であるかを示す判定信号を出力する判定手段と、前
記判定手段からの判定信号がキャッシュ制御の要求を示
す場合にキャッシュ制御を行い、DMA制御の要求を示
す場合にDMA制御を行う制御手段とを備えるように構
成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は情報処理装置及び記
憶媒体に係り、特にキャッシュ制御の要求であるかDM
A制御の要求であるかを判定してキャッシュ制御又はD
MA制御を行う構成の情報処理装置及びコンピュータに
よりこのような情報処理装置を設計するのに用いられる
回路情報がハードウェア記述言語により格納されている
コンピュータ読み取り可能な記憶媒体に関する。
【0002】
【従来の技術】図18は、従来の情報処理装置の一例を
示すブロック図である。情報処理装置は、同図に示す如
く接続されたデータ処理用RISC(Reduced
Instruction Set Computer)
プロセッサ201、キャッシュメモリ202、信号処理
用デジタルシグナルプロセッサ(DSP)203、ダイ
レクトメモリアクセス(DMA)付きメモリ204、メ
モリバス205、主記憶部206からなる。RISCプ
ロセッサ201は、例えば通信プロトコル等のデータ処
理を行うために設けられ、DSP203は、高速な信号
処理を行うために設けられている。近年、画像、音声、
コンピュータグラフィック等の信号処理を高速に行うメ
ディア処理システムの開発が盛んであり、上記RISC
プロセッサ201とDSP203とを単一のチップに混
在させて設けた情報処理装置も提案されている。
【0003】
【発明が解決しようとする課題】しかし、上記情報処理
装置では、RISCプロセッサ201とDSP203と
が互いに独立して設けられているため、ユーザがプログ
ラミングを行う際には、RISCプロセッサ201とD
SP203とで独立した命令コードを生成しなければな
らず、プログラミングが容易でないという問題があっ
た。
【0004】又、低速、且つ、大容量の主記憶部を高速
にアクセスするために、高速、且つ、小容量のメモリを
プロセッサと主記憶部との間に設けてキャッシュメモリ
システムやDMA付きメモリシステムを構成する手法が
一般的に取られるが、上記の如くRISCプロセッサ2
01とDSP203とが設けられている場合には、RI
SCプロセッサ201とDSP203とに対して独立し
てキャッシュメモリシステムやDMA付きメモリシステ
ムを構成する必要がある。具体的には、図18におい
て、RISCプロセッサ201に対してはキャッシュメ
モリ202を含むキャッシュメモリシステムを設け、D
SP203に対してはDMA付きメモリ204を含みキ
ャッシュメモリシステムとは独立したDMA付きメモリ
システムを設ける必要がある。このため、メモリシステ
ムの構成が複雑になり、情報処理装置全体のコストも高
くなるという問題もあった。
【0005】そこで、本発明は、キャッシュ制御の要求
及びDMA制御の要求を比較的簡単、且つ、安価な構成
を用いて効率良く処理することのできる情報処理装置及
びこのような情報処理装置を設計するのに用いられる回
路情報がハードウェア記述言語により格納されているコ
ンピュータ読み取り可能な記憶媒体を提供することを目
的とする。
【0006】
【課題を解決するための手段】上記の課題は、入力要求
のアドレスをデコードして該入力要求がキャッシュ制御
の要求であるかDMA制御の要求であるかを示す判定信
号を出力する判定手段と、前記判定手段からの判定信号
がキャッシュ制御の要求を示す場合にキャッシュ制御を
行い、DMA制御の要求を示す場合にDMA制御を行う
制御手段とを備えた情報処理装置によって達成できる。
【0007】情報処理装置は、前記キャッシュ制御で用
いられるキャッシュメモリ部として使用される第1の領
域と、前記DMA制御で用いられるデータメモリ部とし
て使用される第2の領域とからなる単一のメモリ部を更
に備えた構成としても良い。前記制御手段は、前記第1
及び第2の領域の比率をパラメータに基づいて可変設定
する手段を含んでも良い。
【0008】前記メモリ部はマルチポート構成を有して
も良い。情報処理装置は、前記キャッシュ制御で用いら
れるキャッシュメモリ部として使用される第1の領域
と、前記DMA制御で用いられるデータメモリ部として
使用される第2の領域とを構成するN個のメモリ部を更
に備えた構成を有し、各メモリ部は前記要求の最大デー
タ幅M以下のデータ幅Lを有し、L,N及びMはLN≧
2Mを満足する整数であっても良い。
【0009】情報処理装置は、前記キャッシュ制御及び
前記DMA制御で用いられるメモリ部と接続された主記
憶部を更に備えた構成としても良い。情報処理装置は、
前記入力要求を出力する単一のプロセッサ部を更に備え
た構成を有しても良い。情報処理装置の各部は単一チッ
プ上に設けられていても良い。
【0010】情報処理装置は、主記憶部と、キャッシュ
用データを記憶するキャッシュメモリ部と、DMA用の
データを記憶すると共に独立したアクセスが可能な2ポ
ート以上のデータメモリ部とを更に備え、前記判定手段
は、前記入力要求のアドレスをデコードして該入力要求
が該キャッシュメモリ部への第1の要求であるか該デー
タメモリ部への第2の要求であるかを示す信号を出力す
るデコーダ部を含み、前記制御手段は、該デコーダ部か
らの信号に応答して読み出し要求の場合は該キャッシュ
メモリ部及び該データメモリ部から読み出されたデータ
を選択的に前記要求元へ出力するデータ選択部と、該デ
コーダ部からの信号に応答して第1の要求が読み出し要
求の場合は要求されたデータを該キャッシュメモリ部又
は該主記憶部から読み出して該データ選択部へ出力する
と共に第1の要求が書き込みの場合はデータを該キャッ
シュメモリ部又は該主記憶部に書き込むキャッシュ制御
部と、該入力要求が前記第2の要求である場合に該デー
タメモリ部の1つのポートを占有して該主記憶部と該デ
ータメモリ部との間のデータ転送を制御するDMA制御
部とを含み、該データメモリ部は、該デコーダ部からの
信号に応答して第2の要求が読み出し要求の場合は要求
されたデータを該DMA制御部が占有していない1つの
ポートを用いてデータメモリ部又は前記主記憶部から読
み出して該データ選択部へ出力すると共に第2の要求が
書き込みの場合はデータを該データメモリ部又は該主記
憶部に書き込む構成であっても良い。
【0011】上記の課題は、ハードウェア記述言語によ
り回路情報を格納したコンピュータ読み取り可能な記憶
媒体であって、入力要求のアドレスをデコードして該入
力要求がキャッシュ制御の要求であるかDMA制御の要
求であるかを示す判定信号を出力する判定手段に関する
回路情報を格納する第1のデータ領域と、前記判定手段
からの判定信号がキャッシュ制御の要求を示す場合にキ
ャッシュ制御を行い、DMA制御の要求を示す場合にD
MA制御を行う制御手段に関する回路情報を格納する第
2のデータ領域とを備えた記憶媒体によっても達成でき
る。
【0012】本発明によれば、キャッシュ制御の要求及
びDMA制御の要求を比較的簡単、且つ、安価な構成を
用いて効率良く処理することのできる情報処理装置及び
このような情報処理装置を設計するのに用いられる回路
情報がハードウェア記述言語により格納されているコン
ピュータ読み取り可能な記憶媒体を実現できる。
【0013】
【発明の実施の形態】キャッシュ制御の要求を含み扱う
データを予め予測できないことが多いRISC型命令
と、DMA制御の要求を含み扱うデータを予め予測でき
るDSP型命令とが混在することが可能であれば、命令
用のメモリ及びデータ用のメモリを、RISC型命令と
DSP型命令とに対して共通化することができる。しか
し、データ処理と信号処理とでは、扱うデータの特性及
び使用するメモリシステムに以下のような大きな違いが
存在する。
【0014】DMA用のパラメータ設定時間とDMAに
よるデータ転送時間との和が、プロセッサが転送済みの
データを処理している時間より小さい場合には、データ
処理にDMA付きメモリシステムを用いた方がプロセッ
サを効率良く動作させることができる。即ち、データ転
送を完全に演算処理と並行して行うことができる。とこ
ろが、予め次に扱うデータを予測できない場合にデータ
処理にDMA付きメモリシステムを用いた場合には、扱
うデータが決定してからその都度DMAパラメータを設
定してデータ転送を行うことになり、演算処理とデータ
転送とは直列に実行されることになる。
【0015】他方、データ処理にキャッシュメモリシス
テムを用いた場合には、キャッシュメモリ内に扱うデー
タが存在しないと演算処理とデータ転送とが直列に実行
されるものの、パラメータの設定を必要としない分だけ
データ転送時間を短縮することができる。従って、RI
SC型命令とDSP型命令とに対してキャッシュメモリ
システムを共通なデータ用メモリシステムとして採用す
ると、データ処理には最適だが、信号処理に対しては演
算処理とデータ転送とを並行して行えないために、プロ
セッサの能力を効率良く利用することができない。他
方、RISC型命令とDSP型命令とに対してDMA付
きメモリシステムを共通なデータ用メモリシステムとし
て採用すると、信号処理には最適だが、データ処理にお
けるデータ転送時間がキャッシュメモリシステムを採用
した場合と比較すると長くなり、新たなデータを扱う場
合にはDMA用のパラメータを設定するための命令を常
に必要とするため、プログラムのステップ数が増大して
プロセッサの能力を効率良く利用することができない。
【0016】そこで、本発明では、入力要求のアドレス
をデコードして入力要求が扱うデータが予測可能なRI
SC命令のようなキャッシュ制御の要求であるか、扱う
データが予測不可能なことが多いDSP命令のようなD
MA制御の要求であるかを示す判定信号を出力する判定
手段と、前記判定手段からの判定信号がキャッシュ制御
の要求を示す場合にキャッシュ制御を行い、DMA制御
の要求を示す場合にDMA制御を行う制御手段とを備え
るように情報処理装置を構成する。
【0017】又、ハードウェア記述言語により回路情報
を格納したコンピュータ読み取り可能な記憶媒体におい
て、入力要求のアドレスをデコードして入力要求が扱う
データが予測可能なRISC命令のようなキャッシュ制
御の要求であるか、扱うデータが予測不可能なことが多
いDSP命令のようなDMA制御の要求であるかを示す
判定信号を出力する判定手段に関する回路情報を格納す
る第1のデータ領域と、前記判定手段からの判定信号が
キャッシュ制御の要求を示す場合にキャッシュ制御を行
い、DMA制御の要求を示す場合にDMA制御を行う制
御手段に関する回路情報を格納する第2のデータ領域と
を備えるように記憶媒体を構成する。
【0018】これにより、キャッシュ制御の要求及びD
MA制御の要求を比較的簡単、且つ、安価な構成を用い
て効率良く処理することができる。
【0019】
【実施例】図1は、本発明になる情報処理装置の第1実
施例を示すブロック図である。情報処理装置は、同図に
示す如く接続された単一のプロセッサ部1と、メモリサ
ブシステム2と、主記憶部3とからなる。同図中、アド
レス等を含む制御信号の流れは破線で示し、データの流
れは実線で示す。
【0020】プロセッサ部1は、扱うデータが予測可能
なRISC命令のようなキャッシュ制御の要求と、扱う
データが予測不可能なことが多いDSP命令のようなD
MA制御の要求とを発生する。メモリサブシステム2
は、アドレスデコーダ部21、キャッシュ制御部22、
キャッシュメモリ部23、データメモリ部24、DMA
制御部25及びデータ選択部26からなる。メモリサブ
システム2は、主記憶部3のデータを一部格納し、プロ
セッサ部1からの要求に対してデータを供給したり受け
付けたりする。
【0021】主記憶部3は、大容量のデータを格納する
ための周知の構成を有する。アドレスデコーダ部21
は、プロセッサ部1からの入力要求のアドレスをデコー
ドして、入力要求がキャッシュメモリ部23への要求で
あるか、データメモリ部24への要求であるかを判定
し、判定結果を示す判定信号及び入力要求をキャッシュ
制御部22、データメモリ部24及びデータ選択部26
に供給する。具体的には、アドレスデコーダ部21は、
アドレスを含む制御信号を上記判定結果を示す判定信号
としてキャッシュ制御部22、データメモリ部24及び
データ選択部26に供給する。
【0022】キャッシュ制御部22は、アドレスデコー
ダ部21からのアクセスに対し、入力要求のアドレスが
キャッシュメモリ部23に存在するか否かを判定し、存
在していればキャッシュメモリ部23のデータに対して
要求を行う。入力要求のアドレスがキャッシュメモリ部
23に存在すれば、入力要求はキャッシュメモリ部23
への要求であることがわかる。要求が読み出し要求の場
合、キャッシュ制御部22はキャッシュメモリ部23か
ら該当するアドレスのデータを読み出してデータ選択部
26に供給する。又、該当するアドレスのデータがキャ
ッシュメモリ部23に存在しなければ、主記憶部3から
要求するデータを読み出してキャッシュメモリ部23に
格納後、読み出してデータ選択部26に供給する。他
方、要求が書き込み要求の場合、キャッシュ制御部22
はプロセッサ部1から供給されるデータをキャッシュメ
モリ23に書き込む。
【0023】キャッシュメモリ部23は、キャッシュ用
のデータを格納する周知の構成を有する。又、データメ
モリ部24は、DMA用のデータを格納し、マルチポー
トアクセスが可能な周知の構成を有する。本実施例で
は、説明の便宜上、データメモリ部24は2ポートアク
セスが可能な周知の構成のデュアルポートメモリからな
るものとする。
【0024】DMA制御部25は、プロセッサ部1から
の入力要求に対して、データメモリ部24の1つのポー
トを占有して、データメモリ部24へ主記憶部3からの
データを転送、或いは、主記憶部3へデータメモリ部2
4からのデータを転送する。データメモリ部24は、デ
ュアルポート構成を有するので、DMA制御部25から
のアクセスとアドレスデコーダ部21からのアクセスと
が独立して可能である。データメモリ部24は、アドレ
スデコーダ部21からのアクセスに対し、DMA制御部
25が占有していないもう1つのポートを用いて、読み
出し要求であれば該当するデータを読み出してデータ選
択部26に供給し、書き込み要求であればプロセッサ部
1からのデータを書き込む。
【0025】データ選択部26は、プロセッサ部1から
の入力要求が読み出し要求であると、アドレスデコーダ
部21からのアドレスを含む制御信号(即ち、判定信
号)に基づいて、キャッシュ制御部22を介したキャッ
シュメモリ部23からのデータ又はデータメモリ部24
からのデータを選択的にプロセッサ部1に供給する。キ
ャッシュ制御部22及びキャッシュメモリ部23を含む
キャッシュメモリシステムは、大容量の主記憶部3に対
して高速なアクセスが可能となるように設けられた一種
のバッファメモリであり、主記憶部3のアドレス空間を
維持しつつ高速にアクセス可能なキャッシュメモリ部2
3にデータを格納している。従って、プロセッサ部1
は、主記憶部3のアドレス空間のアドレス値でキャッシ
ュメモリ部23にアクセスする。
【0026】他方、DMA制御部25及びデータメモリ
部24を含むDMA付きメモリシステムは、主記憶部3
とは異なるアドレス空間に存在し、主記憶部3のデータ
のコピーやプロセッサ部1の生成したデータ等を格納し
ている。このため、プロセッサ部1は、主記憶部3とは
異なるアドレス空間のアドレス値でデータメモリ部24
にアクセスする。
【0027】このように、プロセッサ部1からのメモリ
アクセスをアドレス空間で区別することで、キャッシュ
メモリシステムとDMA付きメモリシステムとを混在さ
せたメモリサブシステム2を構築することができる。
尚、アドレスデコーダ部21は、例えばアドレスが所定
値以下であればキャッシュメモリシステムへの要求と
し、所定値を越えればDMA付きメモリシステムへの要
求とするといった、簡単な判定を行うことで上記判定信
号を生成することができる。
【0028】本実施例では、プロセッサ部1のピーク性
能と実行性能とを略同じにすることができ、データ供給
によりプロセッサ部1を停止させることがない情報処理
装置を構築できる。次に、本発明になる情報処理装置の
第2実施例を説明する。図2は、情報処理装置の第2実
施例を示すブロック図である。同図中、図1と同一部分
には同一符号を付し、その説明は省略する。
【0029】メモリサブシステム2aは、図2に示す如
く接続されたアドレスデコーダ部21、キャッシュ制御
部22a、DMA制御部25及びキャッシュデータメモ
リ部27からなる。キャッシュデータメモリ部27は、
図1に示すキャッシュメモリ部23及びデータメモリ部
24として機能し、マルチポートアクセスが可能な構成
を有する。本実施例では、キャッシュデータメモリ部2
7はデュアルポートアクセスが可能な構成を有する。キ
ャッシュデータメモリ部27のメモリ領域は、キャッシ
ュ制御部22aが扱う第1のメモリ領域と、DMA制御
部25が扱う第2のメモリ領域とに固定的に分割されて
いる。
【0030】アドレスデコーダ部21は、キャッシュデ
ータメモリ部27のメモリ領域の分割に合わせてプロセ
ッサ部1からの入力要求のアドレスをデコードして、入
力要求が第1のメモリ領域への要求であるか、第2のメ
モリ領域への要求であるかを判定し、判定結果を示す判
定信号及び入力要求をキャッシュ制御部22aに供給す
る。具体的には、アドレスデコーダ部21は、アドレス
を含む制御信号を上記判定結果を示す判定信号としてキ
ャッシュ制御部22aに供給する。
【0031】キャッシュ制御部22aは、アドレスデコ
ーダ部21からのアクセスに対し、入力要求のアドレス
がキャッシュデータメモリ部27の第1のメモリ領域に
存在するか否かを判定し、存在していれば第1のメモリ
領域のデータに対して要求を行う。入力要求のアドレス
が第1のメモリ領域に存在すれば、入力要求はキャッシ
ュ制御の要求であることがわかる。要求が読み出し要求
の場合、キャッシュ制御部22aはキャッシュデータメ
モリ部27の第1のメモリ領域内から該当するアドレス
のデータを読み出してキャッシュ制御部22aを介して
プロセッサ部1に供給する。又、該当するアドレスのデ
ータがキャッシュデータメモリ部27の第1のメモリ領
域に存在しなければ、主記憶部3から要求するデータを
読み出してキャッシュデータメモリ部23の第1のメモ
リ領域に格納後、読み出してキャッシュ制御部22aを
介してプロセッサ部1に供給する。他方、要求が書き込
み要求の場合、キャッシュ制御部22aはプロセッサ部
1からキャッシュ制御部22aを介して供給されるデー
タをキャッシュデータメモリ23の第1のメモリ領域に
書き込む。
【0032】DMA制御部25は、プロセッサ部1から
の入力要求に対して、キャッシュデータメモリ部27の
1つのポートを占有して、キャッシュデータメモリ部2
7の第2のメモリ領域へ主記憶部3からのデータを転
送、或いは、主記憶部3へキャッシュデータメモリ部2
7の第2のメモリ領域からのデータを転送する。キャッ
シュデータメモリ部27は、デュアルポート構成を有す
るので、DMA制御部25からのアクセスとアドレスデ
コーダ部21からのアクセスとが独立して可能である。
キャッシュデータメモリ部27は、アドレスデコーダ部
21からのアクセスに対し、DMA制御部25が占有し
ていないもう1つのポートを用いて、読み出し要求であ
れば該当するデータを第2のメモリ領域から読み出して
キャッシュ制御部22aを介してプロセッサ部1に供給
し、書き込み要求であればプロセッサ部1からのデータ
を第2のメモリ領域へ書き込む。
【0033】本実施例では、単一のキャッシュデータメ
モリ部27を図1に示すキャッシュメモリ部23及びデ
ータメモリ部24の代わりに使用するので、図1に示す
データ選択部26が不要となり、プロセッサ部1からの
要求が読み出し要求の場合はキャッシュデータメモリ部
27の第1又は第2のメモリ領域から読み出されたデー
タを直接プロセッサ部1に供給することができる。
【0034】本実施例では、プロセッサ部1のピーク性
能と実行性能とを略同じにすることができ、データ供給
によりプロセッサ部1を停止させることがない情報処理
装置を構築できる。次に、本発明になる情報処理装置の
第3実施例を説明する。図3は、情報処理装置の第3実
施例を示すブロック図である。同図中、図2と同一部分
には同一符号を付し、その説明は省略する。
【0035】メモリサブシステム2bは、図3に示す如
く接続されたアドレスデコーダ部21、キャッシュ制御
部22b、DMA制御部25及びキャッシュデータメモ
リ部27からなる。本実施例では、キャッシュデータメ
モリ部27のメモリ領域が、キャッシュ制御部22aが
扱う第1のメモリ領域と、DMA制御部25が扱う第2
のメモリ領域とに任意に分割可能である。つまり、キャ
ッシュ制御部22bに対するパラメータ設定により、第
1のメモリ領域及び第2のメモリ領域が可変設定され
る。
【0036】キャッシュ制御部22bに対するパラメー
タ設定の方法は、特定の方法に限定されるものではな
く、キャッシュデータメモリ部27内での第1のメモリ
領域及び第2のメモリ領域の比率に関するパラメータが
キャッシュ制御部22bに供給されれば良い。例えば、
プロセッサ部1又はメモリサブシステム2b外部からパ
ラメータをキャッシュ制御部22bに直接供給しても、
プロセッサ部1又はメモリサブシステム2b外部からセ
ットされたパラメータをレジスタから読み出してキャッ
シュ制御部22bに直接供給しても良い。又、上記レジ
スタを用いる場合、レジスタはメモリサブシステム2b
内に設けられていてもメモリサブシステム2b外に設け
られていても、更にはキャッシュ制御部22b内に設け
られていても良い。
【0037】本実施例によれば、上記第1及び第2のメ
モリ領域の比率を情報処理装置の用途に合わせて可変設
定することにより、各種メディア処理アプリケーション
に敵した情報処理装置を構築可能となる。又、本実施例
では、プロセッサ部1のピーク性能と実行性能とを略同
じにすることができ、データ供給によりプロセッサ部1
を停止させることがない情報処理装置を構築できる。
【0038】図4及び図5は、キャッシュデータメモリ
部27のハッシュ関数を可変設定することで、キャッシ
ュデータメモリ部27のメモリ領域をキャッシュ制御部
22aが扱う第1のメモリ領域とDMA制御部25が扱
う第2のメモリ領域とに任意に分割し設定する方法を説
明する図である。図4は、パラメータ設定モードと、使
用するキャッシュインデックス数と、アドレスとの関係
を示す図であり、図5は、アドレスの構成を説明する図
である。
【0039】本実施例における可変キャッシュアルゴリ
ズムは、以下の如きパラメータを用いる。 ・ダイレクトマップ方式 ・アドレスはバイト単位のアドレスadr[20:0] ・1キャッシュラインは16バイト ・キャッシュデータメモリ部27のメモリ容量は8kバ
イト 。主記憶部3のメモリ容量は2Mバイト ・後述するアドレス値を格納するTAG−RAMのメモ
リ容量は1kバイト ・後述するデータの確定フラグ(Valid)を有する ・後述するデータの書き換えフラグ(Modify)を
有する 図4に示すように、ハッシュ関数には0〜9の10個の
パラメータ設定モードが存在する。例えばパラメータ設
定モードが0の場合には、キャッシュデータメモリ部2
7の全てのメモリ領域をキャッシュメモリ部として使用
し、使用するインデックス数が512(0〜511)で
あるので上記フラグ及びTAG−RAMは全て使用す
る。又、パラメータ設定モードが1の場合には、キャッ
シュデータメモリ部27のメモリ領域のうち4kバイト
はキャッシュメモリ部として使用し、残りの4kバイト
はデータメモリ部として使用し、使用するインデックス
数が256(0〜255)であるので上記フラグ及びT
AG−RAMも半分までの領域(インデックス0〜25
5)を使用する。つまり、パラメータ設定モードが1の
場合には、インデックス256〜511に相当するキャ
ッシュデータメモリ部27のメモリ領域をデータメモリ
部としてDMAを用いたデータ転送のために使用する。
更に、パラメータ設定モードが0の場合には、キャッシ
ュオフ状態となり、キャッシュデータメモリ部27の全
てのメモリ領域をデータメモリ部として使用する。
【0040】図5は、図4に示すアドレスの構成とイン
デックスとの関係を示す図である。アドレスのうち、a
dr[3:0]はバイト選択に使用され、adr[2
0:4]は図5に示す如き構成を有する。アドレスad
r[20:4]のうち、adr[X:4]で示されるイ
ンデックスは0〜511存在し、各インデックスに対し
て確定フラグ(Valid)、書き換えフラグ(Mod
ify)、TAG−RAM領域及びキャッシュデータメ
モリ領域が設けられている。ここで、Xの値は、パラメ
ータ設定モード0〜8に対して12〜4なる値を取り、
パラメータ設定モードが9の場合は上記の如くキャッシ
ュオフ状態となる。TAG−RAM領域は、16ビット
×512≒1kバイトであり、キャッシュデータメモリ
領域は、16バイト×512≒8kバイトである。
【0041】図6は、本実施例におけるキャッシュ制御
部22bの構成を示すブロック図である。キャッシュ制
御部22bは、同図に示す如く接続されたマスクビット
生成部221、アドレスマスク部222、TAG−RA
M223、データRAM224、TAGアドレスマスク
部225,226、データ選択部227、比較部228
及びヒットマスク部229からなる。
【0042】マスクビット生成部221には、パラメー
タ設定モード0〜9のいずれかを示すモード信号が入力
される。マスクビット生成部221は、図7に示す真理
値表に基づいて、モード信号が示すパラメータ設定モー
ドに対応するビットマスク信号BIT_MASK[1
2:5]及びキャッシュオフ信号CACHE_OFFを
生成する。ビットマスク信号BIT_MASK[12:
5]は、アドレスマスク部222及びTAGアドレスマ
スク部225,226に供給され、キャッシュオフ信号
CACHE_OFFは、ビットマスク部229に供給さ
れる。
【0043】アドレスマスク部222には、キャッシュ
制御部22bに入力されるアドレスadr[20:0]
のうち、adr[12:4]が入力される。尚、アドレ
スadr[20:0]のうち、adr[20:5]はT
AGアドレスマスク部225に入力され、adr[3:
0]はデータ選択部227に入力される。アドレスマス
ク部222は、ビットマスク信号BIT_MASK[1
2:5]とアドレスadr[12:5]との間でビット
単位の論理積(アンド)を求めてインデックスINDE
X[12:5]を出力し、adr[4]はスルーとして
インデックスINDEX[4]を出力する。アンドの結
果であるインデックスINDEX[12:5]は、デー
タRAM224に供給され、スルーの結果であるインデ
ックスINDEX[4]は、TAG−RAM223に供
給される。
【0044】TAGアドレスマスク部225は、アドレ
スadr[12:5]とビットマスク信号BIT_MA
SK[12:5]との間でビット単位のアンドを求めて
アドレスマスクadr_msk[12:5]を出力し、
アドレスadr[20:13]はスルーとしてアドレス
マスクadr_msk[20:13]を出力する。TA
Gアドレスマスク部226は、TAG−RAM223か
らのタグデータtag_data[12:5]とビット
マスク信号BIT_MASK[12:5]との間でビッ
ト単位のアンドを求めてタグマスクtag_msk[1
2:5]を出力し、TAG−RAM223からのタグデ
ータtag_data[20:13]はスルーとしてタ
グマスクtag_msk[20:13]を出力する。
【0045】比較部228は、TAGアドレスマスク部
225からのアドレスマスクadr_msk[20:
5]とTAGアドレスマスク部226からのタグマスク
tag_msk[20:5]とを比較して、一致すると
cmp=1なる信号を出力し、不一致であるとcmp=
0なる信号を出力する。ヒットマスク部229は、マス
クビット生成部221からのキャッシュオフ信号CAC
HE_OFFと比較部228からの信号cmpとのアン
ドを求め、アンドの結果をキャッシュデータメモリ部2
7のメモリ領域を第1のメモリ領域、即ち、キャッシュ
メモリ部として使用するか否かを示すヒット信号として
キャッシュデータメモリ部27へ出力する。
【0046】データ選択部227は、アドレスadr
[3:0]の値に基づいて、データRAM224から出
力される128ビットのデータdata_pre[12
7:0]から32ビットのデータを選択してキャッシュ
データメモリ部27へ出力する。次に、本発明になる情
報処理装置の第4実施例を説明する。図8は、情報処理
装置の第4実施例を示すブロック図である。同図中、図
3と同一部分には同一符号を付し、その説明は省略す
る。
【0047】プロセッサ部1cは、複数の読出ポートを
有する。又、メモリサブシステム2cは、図8に示す如
く接続されたアドレスデコーダ部21、キャッシュ制御
部22c、DMA制御部25及びプロセッサ部1cのポ
ート数に合わせたマルチポート構成のキャッシュデータ
メモリ部27cからなる。キャッシュ制御部22cは、
アドレスデコーダ部21からのアクセスに対し、入力要
求のアドレスがキャッシュデータメモリ部27cの第1
のメモリ領域に存在するか否かを判定し、存在していれ
ば第1のメモリ領域のデータに対して要求を行う。入力
要求のアドレスが第1のメモリ領域に存在すれば、入力
要求はキャッシュ制御の要求であることがわかる。要求
が読み出し要求の場合、キャッシュ制御部22cはキャ
ッシュデータメモリ部27cの第1のメモリ領域内から
該当するアドレスのデータを読み出して直接プロセッサ
部1cに供給する。又、該当するアドレスのデータがキ
ャッシュデータメモリ部27cの第1のメモリ領域に存
在しなければ、主記憶部3から要求するデータを読み出
してキャッシュデータメモリ部23cの第1のメモリ領
域に格納後、読み出して直接プロセッサ部1cに供給す
る。他方、要求が書き込み要求の場合、キャッシュ制御
部22cはプロセッサ部1cから供給されるデータをキ
ャッシュデータメモリ23cの第1のメモリ領域に書き
込む。
【0048】キャッシュデータメモリ部27cは、マル
チポート構成を有するので、DMA制御部25からのア
クセスとアドレスデコーダ部21からのアクセスとが独
立して可能である。キャッシュデータメモリ部27c
は、アドレスデコーダ部21からのアクセスに対し、D
MA制御部25が占有していないもう1つのポートを用
いて、読み出し要求であれば該当するデータを第2のメ
モリ領域から読み出して直接プロセッサ部1cに供給
し、書き込み要求であればプロセッサ部1cからのデー
タを第2のメモリ領域へ書き込む。
【0049】本実施例では、プロセッサ部1cは複数の
読出ポートを有し、キャッシュデータメモリ部27cは
プロセッサ部1cのポート数に合わせたマルチポート構
成を有するので、プロセッサ部1cの演算処理を妨げず
にメモリサブシステム2cへのアクセスが可能となる。
つまり、信号処理では、次々に入力されてくるデータに
適切な演算処理を施して処理結果を出力する。従って、
再利用性のあるデータは少なく、通常のRISCプロセ
ッサのように、レジスタベースの演算処理を行うアーキ
テクチャの場合、常に演算処理の前にメモリからレジス
タへの転送命令を必要とするため、プロセッサのピーク
性能に対して実行性能が低下してしまう。又、再利用性
の高いデータがある場合でも、プロセッサ内の少数のレ
ジスタで格納できない量のデータであるため、レジスタ
転送命令が常に必要となる。
【0050】これに対し、本実施例では、キャッシュデ
ータメモリ部27cからのデータを直接演算に使用する
ことができ、プロセッサアーキテクチャを改善すること
ができる。又、プロセッサ部1cの読出ポート、即ち、
データ入力ポートを2以上とし、キャッシュデータメモ
リ部27cをマルチポート化することにより、データ供
給により演算処理が妨げられない情報処理装置を構成す
ると共に、レジスタへの転送命令を省くことができるの
で、命令ステップ数を削減してプロセッサ部1cの実行
性能を向上することができる。
【0051】次に、本発明になる情報処理装置の第5実
施例を説明する。図9は、情報処理装置の第5実施例を
示すブロック図である。同図中、図1と同一部分には同
一符号を付し、その説明は省略する。メモリサブシステ
ム2dは、図9に示す如く接続されたデータ選択部26
−1、データ配置部26−2、N個のメモリ部27−1
〜27−N及びアドレス制御部29からなる。尚、主記
憶部3の図示は省略する。
【0052】N個のメモリ部27−1〜27−Nは、キ
ャッシュ制御で用いられるキャッシュメモリ部として使
用される第1の領域と、DMA制御で用いられるデータ
メモリ部として使用される第2の領域とを構成する。各
メモリ部27−1〜27−Nは、プロセッサ部1からの
要求の最大データ幅M以下のデータ幅Lを有し、L,N
及びMはLN≧2Mを満足する整数に選定されている。
【0053】データ選択部26−1は、プロセッサ部1
からの要求が読み出し要求の場合、アドレス制御部29
でデコードされたアドレスに基づいてメモリ部27−1
〜27−Nから読み出されたデータのうち、デコードさ
れたアドレスに該当するデータをプロセッサ部1へ選択
出力する。又、データ配置部26−2は、プロセッサ部
1からの要求が書き込み要求の場合、アドレス制御部2
9でデコードされたアドレスに基づいてメモリ部27−
1〜27−Nのうちの該当する位置へプロセッサ部1か
らのデータを書き込む。
【0054】本実施例では、プロセッサ部1からのアド
レスを、プロセッサ部1のメモリアクセスデータ幅と同
じにせず、バイト単位のアドレスとすることで、任意の
バイトアドレスからプロセッサ部1のメモリアクセスデ
ータ幅のデータをアクセスできるようにメモリサブシス
テム2dを構成している。このため、常にプロセッサ部
1の要求するデータを含む連続したデータを扱い、任意
のバイトアドレスからのデータを読み出してプロセッサ
部1に供給することができる。又、書き込み時にも、バ
イト単位に書き込みを制御することで、任意のバイトア
ドレスにデータを書き込むことができる。
【0055】尚、プロセッサアーキテクチャの改良によ
り、2並列や4並列演算等を装備して信号処理を高速に
実行できるプロセッサに対して、図18に示す如き従来
のDMA付きメモリシステムでは、データの扱いに制限
があり、並列演算により演算処理部分においての性能は
向上しているものの、演算処理に入る前にデータ整形処
理命令を実行する必要があり、総合的な演算処理の向上
はあまり見込むことができない。
【0056】つまり、音声、グラフィック、画像等の信
号処理において扱うデータ幅は例えば8ビット又は16
ビットであり、32ビットのデータを一度に扱えるプロ
セッサでは、8ビットの4並列演算処理や16ビットの
2並列演算処理が行え、64ビットのデータを一度に扱
えるプロセッサでは、8ビットの8並列演算処理や16
ビットの4並列演算処理が行えて、演算能力が向上でき
る。しかし、画像のフィルタ処理等で例えば4画素のデ
ータと1画素ずれた位置にある4画素のデータとの4並
列演算を行う場合、演算処理に入る前処理として、デー
タの整形処理を行う必要があり、4並列演算処理による
効果を低減させてしまう。これは、DMA付きメモリシ
ステムがプロセッサのデータ幅に合わせたメモリビット
幅及びアドレスで構成されているため、例えばプロセッ
サのデータ幅が32ビットであればメモリを32ビット
幅で構成し、メモリの2つの連続するアドレスに股がっ
た32ビットのデータが必要な場合には、プロセッサが
2つの連続するアドレスのデータを読み出した後に必要
とするデータを抜き出して加工する、所謂パック処理が
必要となるからである。
【0057】これに対し、本実施例では、所謂パック処
理等のデータの整形処理に対応する処理を、データの読
み出し又は書き込みの際にメモリサブシステム2d内で
効率的に行うことにより、データ整形処理命令を省くこ
とがき、2並列や4並列演算等の効果が非常に高くな
る。尚、プロセッサ部1からの読み出し要求が2ポート
以上で発生する場合には、メモリサブシステム2d内の
メモリ部27−1〜27−Nを、図8のプロセッサ部1
cとキャッシュデータメモリ部27cとの関係のよう
に、マルチポート構成とすることにより、プロセッサ部
1からのデータ要求に即座に対応可能な構成とすること
ができる。
【0058】図10は、データ選択部26−1の構成を
アドレス制御部29及びメモリ部27−1〜27−Nの
関連部分と共に示すブロック図であり、図11は、デー
タ配置部26−2の構成をアドレス制御部29及びメモ
リ部27−1〜27−Nの関連部分と共に示すブロック
図である。図10及び図11は、説明の便宜上N=2の
場合を示す。
【0059】図10において、アドレス制御部29は、
加算器291、比較器292,293及び2:1セレク
タ294,295からなる。メモリ部27−1,27−
2は夫々64ビット幅のRAMからなり、128ビット
幅のRAM領域27Aを構成する。データ選択部26−
1は、セレクト信号生成部261、2:1セレクタ26
2、レジスタ263及び8:1セレクタ264からな
る。
【0060】プロセッサ部1からの要求が読み出し要求
の場合、加算器291は、プロセッサ部1からのアドレ
スadr[12:0]のうち、adr[12:3]を1
だけインクリメントして、アドレスadr_n[12:
4]をセレクタ294の1側入力及びセレクタ295の
0側入力に供給する。又、adr[12:3]のうち、
adr[3]は”1”比較器292、”0”比較器29
3及びセレクト信号生成部261に供給され、adr
[12:4]はセレクタ294の0側入力、セレクタ2
95の1側入力及びセレクト信号生成部261に供給さ
れる。セレクト信号生成部261には、adr[2:
0]も供給されている。これにより、adr[3]が1
であると、セレクタ294は”1”比較器292の出力
に応答して1入力側のadr_n[12:4]をメモリ
部27−2に入力する。又、adr[3]が0である
と、セレクタ295は”0”比較器293の出力に応答
して0入力側のadr_n[12:4]をメモリ部27
−1に入力する。従って、adr[3]が例えば1であ
ると、セレクタ294は”1”比較器292の出力に応
答して1入力側のadr_n[12:4]をメモリ部2
7−2に入力し、セレクタ295は”0”比較器293
の出力に応答して1入力側のadr[12:4]をメモ
リ部27−1に入力する。この結果、メモリ部27−
1,27−2からは、連続する2つのアドレスの合計1
28ビット幅のデータが読み出されてセレクタ262に
出力される。
【0061】セレクト信号生成部261は、adr
[3]に基づいてセレクト信号adr_d[3]を生成
してセレクタ262に供給する。セレクタ262は、セ
レクト信号adr_d[3]に応答してRAM領域27
Aからの128ビット幅のデータをレジスタ263に供
給する。このレジスタ263は、128ビット幅のデー
タを組み合わせて8種類の32ビット幅のデータをセレ
クタ264に供給する。セレクト信号生成部261は、
adr[2:0]に基づいてセレクト信号adr_d
[2:0]を生成してセレクタ264に供給する。セレ
クタ264は、セレクト信号adr_d[2:0]に応
答して対応する1種類の32ビット幅のデータをプロセ
ッサ部1に対して出力する。
【0062】図11中、図10と同一部分には同一符号
を付し、その説明は省略する。図11において、データ
配置部26−2は、ライトイネーブル信号生成部27
1、セレクト信号生成部272、レジスタ273及び
4:1セレクタ274−0〜274−15からなる。プ
ロセッサ部1からの要求が書き込み要求の場合、ライト
イネーブル信号生成部271は、プロセッサ部1からの
ライトイネーブル信号XWE[3:0]及びアドレスa
dr[3:0]に基づいて、ライトイネーブル信号XR
AM_WE[15:0]を生成し、ライトイネーブル信
号XRAM_WE[7:0]をメモリ部27−1に供給
し、ライトイネーブル信号XRAM_WE[15:8]
をメモリ部27−2に供給する。本実施例では、adr
[3:0]=0のときXWE[3:0]はXRAM_W
E[3:0]に接続し、その他のXRAM_WEは全て
1にする。他方、adr[3:0]=1のときXWE
[3:0]はXRAM_WE[4:1]に接続し、その
他のXRAM_WEは全て1にする。このようにして、
アドレスに従ってXWE[3:0]の接続先をシフトし
てその他のXRAM_WEは全て1にする。
【0063】プロセッサ部1からの32ビットのライト
データWDATA[31:0]は、夫々セレクタ274
−0〜274−15に供給される。セレクト信号生成部
272は、アドレスadr[3:0]に基づいてライト
データWDATA[31:0]の4バイト中どのバイト
を選択するかを示すセレクト信号SEL0[1:0]〜
SEL15[1:0]を生成し、対応するセレクタ27
4−0〜274−15に供給する。
【0064】例えば、バイト「7」について見ると、セ
レクト信号生成部272は、セレクタ274−0〜27
4−15がadr[3:0]=4のときライトデータW
DATA[31:24]を、adr[3:0]=5のと
きライトデータWDATA[23:16]を、adr
[3:0]=6のときライトデータWDATA[15:
8]を、adr[3:0]=7のときライトデータWD
ATA[7:0]を選択するように、セレクト信号SE
L0[1:0]〜SEL15[1:0]を生成する。そ
の他のアドレス値では、ライトイネーブル信号生成部2
71で生成されるライトイネーブル信号XRAM_WE
[15:0]を制御することにより、ライトデータWD
ATA[31:0]がメモリ部27−1,27−2に書
き込まれないようにすることができるので、デフォルト
としてどのライトデータを選択するかを決めておけば良
い。
【0065】セレクタ274−0〜274−15からの
ライトデータは、レジスタ273に供給され、レジスタ
273からはライトデータRAM_WDATA[63:
0]がメモリ部27−1に供給され、ライトデータRA
M_WDATA[127:64]がメモリ部27−2に
供給される。メモリ部27−1は、ライトイネーブル信
号XRAM_WE[7:0]に応答してライトデータR
AM_WDATA[63:0]を書き込み、メモリ部2
7−2は、ライトイネーブル信号XRAM_WE[1
5:8]に応答してライトデータRAM_WDATA
[127:64]を書き込む。
【0066】ところで、上記各実施例において、メモリ
サブシステムは、単一の半導体チップ上に設けられてい
ても良い。又、メモリサブシステムと主記憶部とが単一
の半導体チップ上に設けられていても良い。更に、プロ
セッサ部とメモリサブシステムとが単一の半導体チップ
上に設けられていても良い。そして、プロセッサ部とメ
モリサブシステムと主記憶部との全てが単一の半導体チ
ップ上に設けられていても良い。
【0067】又、上記実施例は、必要に応じて適宜組み
合わせても良いことは言うまでもない。ところで、近年
では、ハードウェア記述言語で記述された回路情報と、
セルライブラリ情報とに基づいて実回路を設計すること
が提案されている。図12は、このような実回路の設計
処理の流れを説明する図である。
【0068】図12において、ハードウェア記述言語に
よる回路情報501は、例えば上記情報処理装置の第1
〜第5実施例のいずれかのうち、プロセッサ部、メモリ
サブシステム及び主記憶部のうちの少なくとも1つの部
分に関するソフトバーチャルコンポーネント情報であ
る。セルライブラリ情報502は、設計しようとする実
回路を大規模集積回路(LSI)化又はフィールドプロ
グラマブルゲートアレイ(FPGA)化するか等に応じ
たセル情報からなる。コンパイラ503は、回路情報5
01及びセルライブラリ情報502をコンパイルして実
回路504に関する情報を出力し、この出力情報に基づ
いてLSI又はFPGAが製造される。これにより、回
路情報501が実回路504の製造メーカによって異な
っても、セルライブラリ情報502を製造メーカに合わ
せて変更するだけで、設計処理の流れ自体は同じものが
使用できる。
【0069】図13は、図12に示す如き設計処理を行
うコンピュータシステムを示す図である。同図中、コン
ピュータシステム100は、中央処理装置(CPU)や
ディスクドライブ等を内蔵した本体部101、本体部1
01からの指示により表示画面102a上に画像を表示
するディスプレイ102、コンピュータシステム100
に種々の情報や指示を入力するためのキーボード10
3、ディスプレイ102の表示画面102a上の任意の
位置を指定するマウス104及び外部のデータベース1
06にアクセスするモデム105を備えた周知の構成を
有する。ディスク110等の可搬型記憶媒体に格納され
るか、或いは、モデム105を使用して外部のデータベ
ース106からダウンロードされるプログラムは、コン
ピュータシステム100に入力されて実行される。
【0070】本発明になるコンピュータ読み取り可能な
記憶媒体は、RAM、ROM、PROM、EPROM等
の半導体記憶装置や、図13に示すディスク110やカ
ード状記憶媒体であっても良く、ディスク110は磁気
ディスク、CD−ROMを含む光ディスク、光磁気ディ
スク等であっても良い。コンピュータ読み取り可能な記
憶媒体には、少なくとも回路情報50がハードウェア記
述言語で格納されているが、図12に示す如き設計処理
を行うプログラムも格納していても良い。
【0071】次に、本発明になる記憶媒体の一実施例を
説明する。本実施例では、図13に示すディスク110
が本発明になる記憶媒体を構成する。このディスク10
0は、ハードウェア記述言語により回路情報を格納した
コンピュータ読み取り可能な記憶媒体であって、入力要
求のアドレスをデコードして入力要求がキャッシュ制御
の要求であるかDMA制御の要求であるかを示す判定信
号を出力する判定手段に関する回路情報を格納する第1
のデータ領域と、前記判定手段からの判定信号がキャッ
シュ制御の要求を示す場合にキャッシュ制御を行い、D
MA制御の要求を示す場合にDMA制御を行う制御手段
に関する回路情報を格納する第2のデータ領域とを備え
ている。
【0072】従って、図13に示すコンピュータシステ
ム100は、ディスク110の第1及び第2のデータ領
域から読み出した回路情報501と、キーボード10
3、ディスク110、データベース106等から入力さ
れたセルライブラリ情報502とに基づいてコンパイラ
503の処理を行うことで、あたかも実際の回路コンポ
ーネントを組み立てるようにしてソフトバーチャルコン
ポーネントを組み立てて実回路504を設計することが
できる。
【0073】ところで、上記各実施例において、RIS
C型命令とDSP型命令とを出力するプロセッサ部は、
単一のマイクロプロセッサで構成されていても良い。そ
こで、以下の説明では、プロセッサ部1が単一のマイク
ロプロセッサで構成されている場合について説明する。
図14は、プロセッサ部1の構成を示す図である。図1
4において、プロセッサ部1は、大量の演算処理を高速
に実行する必要性から、演算命令取り込み部402と演
算命令解読部403とデータ取り込み部404と演算処
理実行部407と演算結果書き込み部408とを有する
パイプライン411と、パイプライン411に対してマ
イクロコードを入力する演算命令入力部401と、演算
処理に必要な入力データ及び演算処理結果を記憶する記
憶部405と、演算処理命令コードを記憶するルックア
ップテーブル(LUT)406と、記憶部405に記憶
されている演算処理結果等を出力する出力制御部409
と、出力部410とから構成され、並列に演算処理を実
行するパイプライン処理により効率的に演算処理を実行
する。尚、LUT406は、RAM等のメモリにて構成
され、ユーザ任意による設定が可能である。
【0074】上記のように構成されるプロセッサ部1の
パイプライン411を構成する各部の機能を説明する。
演算命令取り込み部402は、演算処理に必要な入出力
データの転送内容を示す情報と、プロセス命令又はプロ
セス命令の格納場所を示すアドレス情報(以後、このア
ドレス情報を演算IDという)から構成されるマイクロ
コードを取り込む機能(フェッチ機能)を有する。
【0075】演算命令解読部403は、演算命令取り込
み部402にて取り込まれたマイクロコードを解読する
機能(デコード機能)を有する。データ取り込み部40
4は、演算命令解読部403にて解読されたマイクロコ
ードの入出力データの転送内容を示す情報に基づいて、
記憶部405から演算処理に必要な入力データを取り込
む機能(リード機能)と、更にマイクロコードが演算I
Dを有する場合に、該演算IDが示すアドレスに基づい
てLUT406からプロセス命令を取り込む機能(リー
ド機能)を有する。
【0076】演算処理実行部407は、加算、減算、乗
除算、和積演算等の複数の演算器リソースを有し、デー
タ取り込み部404にて取り込まれた入力データ及びプ
ロセス命令に従って所定の演算を実行する機能を有す
る。演算結果書き込み部408は、演算処理実行部40
7にて実行された演算処理結果を、データ取り込み部4
04から演算処理実行部407を介して、出力データの
格納位置を示すアドレスに基づいて、記憶部405に書
き込む機能(ライト機能)を有する。
【0077】このような構成及び機能を有する本発明の
プロセッサ部1は、マイクロコードを構成する演算ID
に基づいて、プロセス命令を取り込むことが可能である
ため、マイクロコードの小型化を実現しつつ、高度化、
複雑化した演算処理命令コードに対応可能となる。ここ
で、図14に示すプロセッサ部1にて演算処理を実行す
るための前記マイクロコードを図15に従って説明す
る。
【0078】従来のマイクロコードは、例えば、図15
上部に示すように、プロセス命令(RISC命令に組み
合わせ)と入出力データから構成されていたが、プロセ
ス命令の高度化、複雑化によりマイクロコードが拡大
し、演算処理情報が割り当てられない、つまり、マイク
ロコード上に実装しきれない場合があった。そこで、プ
ロセッサ部1にて演算処理を実行するためのマイクロコ
ードは、図15下部に示すように、演算IDを有するこ
とにより、演算処理が複雑な場合でも小型化できる。演
算IDには、先に説明した通り、LUT406のアドレ
ス情報が示されているため、高度化、及び複雑化したプ
ロセス命令はLUT406に記憶する。
【0079】マイクロコードが演算ID及び入出力デー
タの転送内容を示す情報から構成されることにより、プ
ロセッサ部1は、複数のRISC型命令(演算器リソー
スを1つしか使わないような基本的な命令)から構成さ
れる複雑なプロセス命令(1つのパイプラインで演算処
理される命令)にも、LUT406を使用することで容
易に対応可能となるため、今後更に高度化、複雑化する
演算処理にも容易に対応可能となる。
【0080】また、図15に示すように、マイクロコー
ドの小型化を実現することにより、命令を一時的に記憶
する命令キャッシュの小型化も可能となる。更に、プロ
セッサ部1は、演算IDに代えて、従来通り直接プロセ
ス命令を実装可能とする。例えば、プロセス命令が1つ
のRISC型命令の場合は、マイクロコードが拡大する
ことがないことを利用して演算IDの代わりにRISC
型命令をそのまま実装する。また、マイクロコードのサ
イズによっては、2つ以上の場合でも、直接実装が可能
である。そのため、プロセッサ部1は、LUT406に
アクセスすることなく、より効率的に演算処理命令を解
読できる。
【0081】図16及び図17は、図14に示すプロセ
ッサ部1に、図15のマイクロコードが入力された場合
の演算処理の具体例及び演算処理実行方法を示す。例え
ば、図14に示す本発明のプロセッサ部1のパイプライ
ン411に、図17に示すような演算IDと、入力デー
タ、入力データ、出力データの格納位置を示すアド
レス情報で構成される入出力データの転送内容を示す情
報とを有するマイクロコードが入力された場合、マイク
ロコードは、演算命令取り込み部402にて取り込ま
れ、演算命令解読部403にてデコードされる(S
1)。
【0082】演算命令解読部403にてデコードされた
結果、例えば、演算IDの判定ビットが‘0’の場合
(図17参照)、演算IDはRISC型命令であるため
(S2、RISC)、データ取り込み部404は、入力
データ、入力データの格納位置を示すアドレスに基
づいて、記憶部405から入力データ、入力データ
を取り込み(S3)、同時に出力データの格納位置を示
すアドレスを演算処理実行部407に通知する。
【0083】演算処理実行部407では、例えば、RI
SC型命令に対応する演算器リソースであるALU42
3(加算器)による加算演算を実行し、その演算処理結
果を前記出力データの格納位置を示すアドレスに基づい
て記憶部405に格納する(S5)。一方、演算命令解
読部403にてデコードされた結果、例えば、演算ID
の判定ビットが‘1’の場合(図17参照)、該演算I
DはLUT406のアドレスのため(S2、ID)、デ
ータ取り込み部404は、アドレス‘X’に基づいてプ
ロセス命令を取り込む(S4)。更にデータ取り込み部
404は、入力データ、入力データの格納位置を示
すアドレスに基づいて、記憶部405から入力データ
、入力データを取り込み(S3)、プロセス命令と
共に入力データ、入力データと、出力データの格納
位置を示すアドレスを演算処理実行部407に通知す
る。尚、LUT406内のプロセス命令は、例えば、図
17のように、アドレス‘X’に、‘MPY→SHF→
ADD’を格納している。
【0084】演算処理実行部407では、例えば、プロ
セス命令に対応する演算器リソースである乗算器(MP
Y)421、シフタ(SHF)422、加算器(AL
U)423による積和演算を実行し、その演算処理結果
を前記出力データの格納位置を示すアドレスに基づいて
記憶部405に格納する(S5)。上記に示す演算処理
方法を実行可能なプロセッサ部1は、LUT406の内
容をユーザ任意で変更することにより、効率よく演算処
理を実行することができる。
【0085】また、プロセッサ部1は、1つのプロセス
命令に複数のRISC型命令を行わせることにより、全
体の実行命令数を減少させることができる。以上、本発
明を実施例により説明したが、本発明は上記実施例に限
定されるものではなく、本発明の範囲内で種々の変形及
び改良が可能であることは言うまでもない。
【0086】
【発明の効果】本発明によれば、キャッシュ制御の要求
及びDMA制御の要求を比較的簡単、且つ、安価な構成
を用いて効率良く処理することのできる情報処理装置及
びこのような情報処理装置を設計するのに用いられる回
路情報がハードウェア記述言語により格納されているコ
ンピュータ読み取り可能な記憶媒体を実現できる。
【図面の簡単な説明】
【図1】本発明になる情報処理装置の第1実施例を示す
ブロック図である。
【図2】本発明になる情報処理装置の第2実施例を示す
ブロック図である。
【図3】本発明になる情報処理装置の第3実施例を示す
ブロック図である。
【図4】パラメータ設定モードと、使用するキャッシュ
インデックス数と、アドレスとの関係を示す図である。
【図5】アドレスの構成を説明する図である。
【図6】第3実施例におけるキャッシュ制御部の構成を
示すブロック図である。
【図7】マスクビット生成部が用いる真理値表を示す図
である。
【図8】本発明になる情報処理装置の第4実施例を示す
ブロック図である。
【図9】本発明になる情報処理装置の第5実施例を示す
ブロック図である。
【図10】データ選択部の構成をアドレス制御部及びメ
モリ部の関連部分と共に示すブロック図である。
【図11】データ配置部の構成をアドレス制御部及びメ
モリ部の関連部分と共に示すブロック図である。
【図12】実回路の設計処理の流れを説明する図であ
る。
【図13】図12に示す如き設計処理を行うコンピュー
タシステムを示す図である。
【図14】プロセッサ部の構成を示す図である。
【図15】マイクロコードの構成を説明する図である。
【図16】プロセッサ部の演算処理実行方法を示すフロ
ーチャートである。
【図17】プロセッサ部の演算処理を説明する図であ
る。
【図18】従来の情報処理装置の一例を示すブロック図
である。
【符号の説明】
1,1c プロセッサ部 2,2a〜2d メモリサブシステム 3 主記憶部 21 アドレスデコーダ部 22,22a〜22c キャッシュ制御部 23 キャッシュメモリ部 24 データメモリ部 25 DMA制御部 26,26−1 データ選択部 26−2 データ配置部 27,27c キャッシュデータメモリ部 27−1〜27−N メモリ部 100 コンピュータシステム 110 ディスク

Claims (17)

    【特許請求の範囲】
  1. 【請求項1】 入力要求のアドレスをデコードして該入
    力要求がキャッシュ制御の要求であるかDMA制御の要
    求であるかを示す判定信号を出力する判定手段と、 前記判定手段からの判定信号がキャッシュ制御の要求を
    示す場合にキャッシュ制御を行い、DMA制御の要求を
    示す場合にDMA制御を行う制御手段とを備えた、情報
    処理装置。
  2. 【請求項2】 前記キャッシュ制御で用いられるキャッ
    シュメモリ部として使用される第1の領域と、前記DM
    A制御で用いられるデータメモリ部として使用される第
    2の領域とからなる単一のメモリ部を更に備えた、請求
    項1記載の情報処理装置。
  3. 【請求項3】 前記制御手段は、前記第1及び第2の領
    域の比率をパラメータに基づいて可変設定する手段を含
    む、請求項2記載の情報処理装置。
  4. 【請求項4】 前記メモリ部はマルチポート構成を有す
    る、請求項2又は3記載の情報処理装置。
  5. 【請求項5】 前記キャッシュ制御で用いられるキャッ
    シュメモリ部として使用される第1の領域と、前記DM
    A制御で用いられるデータメモリ部として使用される第
    2の領域とを構成するN個のメモリ部を更に備え、各メ
    モリ部は前記要求の最大データ幅M以下のデータ幅Lを
    有し、L,N及びMはLN≧2Mを満足する整数であ
    る、請求項1記載の情報処理装置。
  6. 【請求項6】 前記制御手段は、前記第1及び第2の領
    域の比率をパラメータに基づいて可変設定する手段を含
    む、請求項5記載の情報処理装置。
  7. 【請求項7】 前記メモリ部はマルチポート構成を有す
    る、請求項5又は6記載の情報処理装置。
  8. 【請求項8】 各部が単一チップ上に設けられた、請求
    項1〜7のいずれか1項記載の情報処理装置。
  9. 【請求項9】 前記入力要求を出力する単一のプロセッ
    サ部を更に備えた、請求項1〜7のいずれか1項記載の
    情報処理装置。
  10. 【請求項10】 各部が単一チップ上に設けられた、請
    求項9記載の情報処理装置。
  11. 【請求項11】 前記キャッシュ制御及び前記DMA制
    御で用いられるメモリ部と接続された主記憶部を更に備
    えた、請求項2〜7のいずれか1項記載の情報処理装
    置。
  12. 【請求項12】 前記入力要求を出力する単一のプロセ
    ッサ部を更に備えた、請求項11記載の情報処理装置。
  13. 【請求項13】 各部が単一チップ上に設けられた、請
    求項11又は12記載の情報処理装置。
  14. 【請求項14】 主記憶部と、 キャッシュ用データを記憶するキャッシュメモリ部と、 DMA用のデータを記憶すると共に独立したアクセスが
    可能な2ポート以上のデータメモリ部とを更に備え、 前記判定手段は、前記入力要求のアドレスをデコードし
    て該入力要求が該キャッシュメモリ部への第1の要求で
    あるか該データメモリ部への第2の要求であるかを示す
    信号を出力するデコーダ部を含み、 前記制御手段は、該デコーダ部からの信号に応答して読
    み出し要求の場合は該キャッシュメモリ部及び該データ
    メモリ部から読み出されたデータを選択的に前記要求元
    へ出力するデータ選択部と、該デコーダ部からの信号に
    応答して第1の要求が読み出し要求の場合は要求された
    データを該キャッシュメモリ部又は該主記憶部から読み
    出して該データ選択部へ出力すると共に第1の要求が書
    き込みの場合はデータを該キャッシュメモリ部又は該主
    記憶部に書き込むキャッシュ制御部と、該入力要求が前
    記第2の要求である場合に該データメモリ部の1つのポ
    ートを占有して該主記憶部と該データメモリ部との間の
    データ転送を制御するDMA制御部とを含み、 該データメモリ部は、該デコーダ部からの信号に応答し
    て第2の要求が読み出し要求の場合は要求されたデータ
    を該DMA制御部が占有していない1つのポートを用い
    てデータメモリ部又は前記主記憶部から読み出して該デ
    ータ選択部へ出力すると共に第2の要求が書き込みの場
    合はデータを該データメモリ部又は該主記憶部に書き込
    む、請求項1記載の情報処理装置。
  15. 【請求項15】 前記入力要求を出力する単一のプロセ
    ッサ部を更に備えた、請求項14記載の情報処理装置。
  16. 【請求項16】 各部が単一チップ上に設けられた、請
    求項15記載の情報処理装置。
  17. 【請求項17】 ハードウェア記述言語により回路情報
    を格納したコンピュータ読み取り可能な記憶媒体であっ
    て、 入力要求のアドレスをデコードして該入力要求がキャッ
    シュ制御の要求であるかDMA制御の要求であるかを示
    す判定信号を出力する判定手段に関する回路情報を格納
    する第1のデータ領域と、 前記判定手段からの判定信号がキャッシュ制御の要求を
    示す場合にキャッシュ制御を行い、DMA制御の要求を
    示す場合にDMA制御を行う制御手段に関する回路情報
    を格納する第2のデータ領域とを備えた、記憶媒体。
JP10112961A 1998-04-23 1998-04-23 情報処理装置及び記憶媒体 Pending JPH11306084A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP10112961A JPH11306084A (ja) 1998-04-23 1998-04-23 情報処理装置及び記憶媒体
US09/288,693 US6378050B1 (en) 1998-04-23 1999-04-09 Information processing apparatus and storage medium
EP99303074A EP0952528A3 (en) 1998-04-23 1999-04-21 Information processing apparatus and storage medium
CN99105245A CN1125403C (zh) 1998-04-23 1999-04-22 信息处理设备
KR1019990014375A KR100310958B1 (ko) 1998-04-23 1999-04-22 정보 처리 장치 및 기억 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10112961A JPH11306084A (ja) 1998-04-23 1998-04-23 情報処理装置及び記憶媒体

Publications (1)

Publication Number Publication Date
JPH11306084A true JPH11306084A (ja) 1999-11-05

Family

ID=14599878

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10112961A Pending JPH11306084A (ja) 1998-04-23 1998-04-23 情報処理装置及び記憶媒体

Country Status (5)

Country Link
US (1) US6378050B1 (ja)
EP (1) EP0952528A3 (ja)
JP (1) JPH11306084A (ja)
KR (1) KR100310958B1 (ja)
CN (1) CN1125403C (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009237790A (ja) * 2008-03-26 2009-10-15 Yamaha Corp Dmaコントローラ

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6434649B1 (en) * 1998-10-14 2002-08-13 Hitachi, Ltd. Data streamer
US6574682B1 (en) * 1999-11-23 2003-06-03 Zilog, Inc. Data flow enhancement for processor architectures with cache
WO2002023347A1 (en) * 2000-09-12 2002-03-21 Stmicroelectronics Limited Cache memory
JP3841810B2 (ja) * 2002-09-30 2006-11-08 株式会社ルネサステクノロジ データプロセッサ
JP3784766B2 (ja) * 2002-11-01 2006-06-14 株式会社半導体理工学研究センター 多ポート統合キャッシュ
JP2005149336A (ja) * 2003-11-19 2005-06-09 Hitachi Ltd ストレージ管理方法及びその装置
JP4239008B2 (ja) * 2004-07-08 2009-03-18 日本電気株式会社 情報処理方法、情報処理装置およびプログラム
US7536669B1 (en) * 2006-08-30 2009-05-19 Xilinx, Inc. Generic DMA IP core interface for FPGA platform design
US8341330B2 (en) * 2008-01-07 2012-12-25 Macronix International Co., Ltd. Method and system for enhanced read performance in serial peripheral interface
US20110161597A1 (en) * 2009-12-30 2011-06-30 International Business Machines Corporation Combined Memory Including a Logical Partition in a Storage Memory Accessed Through an IO Controller
US20160188470A1 (en) * 2014-12-31 2016-06-30 Arteris, Inc. Promotion of a cache line sharer to cache line owner
KR101661754B1 (ko) * 2015-07-29 2016-09-30 김정화 실크스크린판 건조기
US10713202B2 (en) * 2016-05-25 2020-07-14 Samsung Electronics Co., Ltd. Quality of service (QOS)-aware input/output (IO) management for peripheral component interconnect express (PCIE) storage system with reconfigurable multi-ports

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58102381A (ja) 1981-12-15 1983-06-17 Nec Corp バツフアメモリ
JPS6398749A (ja) 1986-10-16 1988-04-30 Mitsubishi Electric Corp デ−タ処理装置
US4928225A (en) * 1988-08-25 1990-05-22 Edgcore Technology, Inc. Coherent cache structures and methods
US5029070A (en) * 1988-08-25 1991-07-02 Edge Computer Corporation Coherent cache structures and methods
JP3217348B2 (ja) 1990-08-01 2001-10-09 キヤノン株式会社 情報処理システム
GB9118312D0 (en) 1991-08-24 1991-10-09 Motorola Inc Real time cache implemented by dual purpose on-chip memory
GB2284911A (en) 1993-12-16 1995-06-21 Plessey Semiconductors Ltd Flexible lock-down cache.
JP3623840B2 (ja) * 1996-01-31 2005-02-23 株式会社ルネサステクノロジ データ処理装置及びマイクロプロセッサ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009237790A (ja) * 2008-03-26 2009-10-15 Yamaha Corp Dmaコントローラ

Also Published As

Publication number Publication date
KR19990083404A (ko) 1999-11-25
CN1125403C (zh) 2003-10-22
KR100310958B1 (ko) 2001-10-17
EP0952528A2 (en) 1999-10-27
CN1233022A (zh) 1999-10-27
US6378050B1 (en) 2002-04-23
EP0952528A3 (en) 2000-12-13

Similar Documents

Publication Publication Date Title
US10901913B2 (en) Two address translations from a single table look-aside buffer read
JP3559046B2 (ja) データ処理マネージメントシステム
US11977892B2 (en) Converting a stream of data using a lookaside buffer
TWI552080B (zh) 處理器
JP2835103B2 (ja) 命令指定方法及び命令実行方式
KR100236525B1 (ko) 넓은 데이타 폭의 프로세서에서 다기능 데이타 정렬기
RU2586589C2 (ru) Модуль сопроцессора кэша
US12061908B2 (en) Dual data streams sharing dual level two cache access ports to maximize bandwidth utilization
JPH11306084A (ja) 情報処理装置及び記憶媒体
KR19980069869A (ko) 벡터 프로세서용 로드 및 저장 유니트
US11983559B2 (en) Streaming engine with short cut start instructions
KR20190082079A (ko) 원격 원자 연산들의 공간적 및 시간적 병합
US6687808B2 (en) Data processor using indirect register addressing
US20110185151A1 (en) Data Processing Architecture
EP1680735B1 (en) Apparatus and method that accomodate multiple instruction sets and multiple decode modes
JP3479385B2 (ja) 情報処理装置
US6728741B2 (en) Hardware assist for data block diagonal mirror image transformation
JP2001022689A (ja) 出力fifoデータ転送制御装置
KR100267092B1 (ko) 멀티미디어신호프로세서의단일명령다중데이터처리
JPH10143494A (ja) スカラ/ベクトル演算の組み合わせられた単一命令複数データ処理
JPH11312085A (ja) プロセッサ
KR20010072490A (ko) 레지스터 스택을 포함하는 데이터 프로세서, 그 처리방법, 컴퓨터 프로그램 제품 및 멀티미디어 장치
CA2298337C (en) Game system with graphics processor
US7984204B2 (en) Programmable direct memory access controller having pipelined and sequentially connected stages
JP2002351656A (ja) マイクロプロセッサ

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040120