[go: up one dir, main page]

JPH06324990A - バス制御装置 - Google Patents

バス制御装置

Info

Publication number
JPH06324990A
JPH06324990A JP5112841A JP11284193A JPH06324990A JP H06324990 A JPH06324990 A JP H06324990A JP 5112841 A JP5112841 A JP 5112841A JP 11284193 A JP11284193 A JP 11284193A JP H06324990 A JPH06324990 A JP H06324990A
Authority
JP
Japan
Prior art keywords
bus
data
address
peripheral device
cpu
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.)
Granted
Application number
JP5112841A
Other languages
English (en)
Other versions
JP3608804B2 (ja
Inventor
Yasuyuki Yamamoto
靖之 山本
Toshiya Ishibashi
俊哉 石橋
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP11284193A priority Critical patent/JP3608804B2/ja
Priority to TW089213161U priority patent/TW535941U/zh
Priority to DE69432063T priority patent/DE69432063T2/de
Priority to EP02000578A priority patent/EP1197871A3/en
Priority to EP94303326A priority patent/EP0624846B1/en
Priority to MYPI94001182A priority patent/MY110919A/en
Priority to KR1019940010356A priority patent/KR100319331B1/ko
Publication of JPH06324990A publication Critical patent/JPH06324990A/ja
Priority to US08/556,803 priority patent/US5682555A/en
Priority to US08/707,059 priority patent/US5935428A/en
Application granted granted Critical
Publication of JP3608804B2 publication Critical patent/JP3608804B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4009Coupling between buses with data restructuring
    • G06F13/4018Coupling between buses with data restructuring with data-width conversion
    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function
    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function
    • G06F13/4054Coupling between buses using bus bridges where the bridge performs a synchronising function where the function is bus cycle extension, e.g. to meet the timing requirements of the target bus
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Systems (AREA)
  • Bus Control (AREA)

Abstract

(57)【要約】 【目的】 装置全体を大型化、高コスト化することな
く、中央演算処理装置と周辺装置との間のアクセスタイ
ミングを制御することができるようにする。 【構成】 タイミングテーブル(図3)に記述されてい
る周辺装置(ROM5、バックアップメモリ6、デバイ
ス7,8)の動作タイミングに基づいて、中央演算処理
装置と周辺装置との間のアクセスタイミングを制御す
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、例えばコンピュータな
どに用いて好適なバス制御装置に関する。
【0002】
【従来の技術】従来のコンピュータにおいては、そのC
PUのバスアクセス速度より低速の周辺装置(例えば、
インターフェイスボードなど)を使用する場合、その周
辺装置のバスアクセスタイミングにあわせて、CPUの
バスアクセスタイミングを遅くすると、装置全体の処理
速度が低下するため、いわゆるウエイトコントローラな
どを設け、CPUが出力したリード信号やライト信号な
どを周辺装置に供給するタイミングを調整するようにな
されている。
【0003】また、従来のコンピュータでは、そのCP
Uのバス幅と異なるバス幅の周辺装置を使用する場合、
即ち、例えば32ビットのバス幅のCPUに対し、8ビ
ットのバス幅の周辺装置を使用する場合、データのパッ
ク/アンパックを行う専用のハード機構を設け、CPU
が出力した32ビットのデータを8ビットのデータに4
分割して(アンパック)、周辺装置に供給し、また周辺
装置が出力した8ビットのデータを4回読み込み、32
ビットのデータにして(パック)、CPUに供給するよ
うになされている。
【0004】
【発明が解決しようとする課題】ところで、上述のウエ
イトコントローラは、コンピュータに接続する周辺装置
にあわせて、個別に設計しなければならず、装置が高コ
スト化する課題があった。
【0005】さらに、周辺装置によっては、CPUが、
周辺装置からデータを読み込む場合、CPUのデータの
リードが終了しても、しばらくの間、データを出力し続
けている、即ちフローティングタイムの長いものがあ
る。また、周辺装置によっては、CPUが、周辺装置に
データを書き込む場合、CPUのデータのライト信号の
出力が終了しても、しばらくの間、データバス上にデー
タを保持する必要のある、即ちホールドタイムの長いも
のがある。
【0006】このようなフローティングタイムやホール
ドタイムの長い周辺装置に対しては、上述のウエイトコ
ントローラだけでは、動作タイミングを調整しきれず、
その周辺装置にハード的な工夫を施さなければならなか
った。
【0007】従って、装置が大型化、高コスト化する課
題があった。
【0008】また、上述のパック/アンパックを行うハ
ード機構も、ウエイトコントローラと同様に、コンピュ
ータに接続する周辺装置にあわせて、例えばパック/ア
ンパックのトリガ発生論理などを個別に設計しなければ
ならず、装置が高コスト化する課題があった。
【0009】さらに、例えば上述のように、32ビット
のバス幅のCPUに対し、8ビットのバス幅の周辺装置
を使用する場合、CPUが出力した32ビットのデータ
を、アンパックし、4つの8ビットのデータにして、こ
れらを周辺装置に書き込むとき、その周辺装置が、例え
ばメモリであれば、データを書き込むアドレスを1ず
つ、4回インクリメントする必要があるが、周辺装置
が、例えばいわゆるFIFO型のバッファなどを有す
る、データの読み書きが固定アドレスで行われるもので
あれば、同一(固定)アドレスに対し、4つの8ビット
のデータを書き込むようにする必要がある。
【0010】ここで、本明細書中においては、CPUと
バス幅の異なる周辺装置に対してデータを読み書きする
場合に、アドレスが、上述のようにインクリメントされ
たり、固定であったりすることをアドレス形式という。
【0011】しかしながら、上述のハード機構は、周辺
装置のアドレス形式を考慮して、周辺装置に対してデー
タを読み書きするアドレスを指定するようにはなされて
いなかった。
【0012】従って、例えばアプリケーションプログラ
ムなどは、周辺装置のアドレス形式を考慮して設計、製
作しなければならないので、面倒であった。
【0013】本発明は、このような状況に鑑みてなされ
たものであり、装置を大型化、高コスト化することな
く、CPUと周辺装置との間のデータのやりとりを制御
することができるようにするものである。
【0014】
【課題を解決するための手段】請求項1に記載のバス制
御装置は、例えばCPU1などの中央演算処理装置が接
続されたメインバス9と、例えばROM5やバックアッ
プメモリ6、デバイス7,8などの周辺装置が接続され
たサブバス10との間に接続されるバス制御装置であっ
て、ROM5、バックアップメモリ6、デバイス7,8
の動作タイミングを記憶している記憶手段としてのタイ
ミングテーブル記憶部13を備え、タイミングテーブル
記憶部13に記憶されているROM5、バックアップメ
モリ6、デバイス7,8の動作タイミングに基づいて、
CPU1とROM5、バックアップメモリ6、デバイス
7,8との間のアクセスタイミングを制御することを特
徴とする。
【0015】請求項2に記載のバス制御装置は、タイミ
ングテーブル記憶部13に記憶されたROM5、バック
アップメモリ6、デバイス7,8の動作タイミングが、
書き換え可能であることを特徴とする。
【0016】請求項3に記載のバス制御装置は、タイミ
ングテーブル記憶部13には、ROM5、バックアップ
メモリ6、デバイス7,8の少なくともホールドタイム
またはリカバリタイムが記憶されていることを特徴とす
る。
【0017】請求項4に記載のバス制御装置は、例えば
CPU1などの中央演算処理装置が接続されたメインバ
ス9と、例えばROM5やバックアップメモリ6、デバ
イス7,8などの周辺装置が接続されたサブバス10と
の間に接続されるバス制御装置であって、ROM5、バ
ックアップメモリ6、デバイス7,8のバス幅とアドレ
ス形式を記憶している記憶手段としてのバス幅テーブル
記憶部14と、CPU1またはROM5、バックアップ
メモリ6、デバイス7,8が出力するデータをラッチす
るデータラッチ手段としてのデータバッファ11と、C
PU1がROM5、バックアップメモリ6、デバイス
7,8に出力するアドレスをラッチするアドレスラッチ
手段としてのアドレスバッファ21と、バス幅テーブル
記憶部14に記憶されているROM5、バックアップメ
モリ6、デバイス7,8のバス幅に基づいて、データバ
ッファ11にラッチされたデータのパック/アンパック
を制御するとともに、バス幅テーブル記憶部14に記憶
されているROM5、バックアップメモリ6、デバイス
7,8のアドレス形式に基づいて、アドレスバッファ2
1にラッチされたアドレスを制御する制御手段としての
コントローラ16とを備えることを特徴とする。
【0018】請求項5に記載のバス制御装置は、バス幅
テーブル記憶部14に記憶されているROM5、バック
アップメモリ6、デバイス7,8のバス幅とアドレス形
式が、書き換え可能であることを特徴とする。
【0019】
【作用】請求項1に記載のバス制御装置においては、タ
イミングテーブル記憶部13に記憶されているROM
5、バックアップメモリ6、デバイス7,8の動作タイ
ミングに基づいて、CPU1とROM5、バックアップ
メモリ6、デバイス7,8との間のアクセスタイミング
を制御する。従って、CPU1とROM5、バックアッ
プメモリ6、デバイス7,8との間のアクセスタイミン
グを調整する、例えばウエイトコントローラなどのハー
ドウェアを、周辺装置ごとに設ける必要がなくなるの
で、装置全体を大型化、高コスト化することなく、CP
U1とROM5、バックアップメモリ6、デバイス7,
8との間のアクセスタイミングを制御することができ
る。
【0020】請求項2に記載のバス制御装置において
は、タイミングテーブル記憶部13に記憶されたROM
5、バックアップメモリ6、デバイス7,8の動作タイ
ミングが、書き換え可能であるので、例えばROM5、
バックアップメモリ6、デバイス7,8の仕様が変更さ
れたり、新たな周辺装置が追加されても、装置が、実質
上、使用不可能となることが防止される。
【0021】請求項3に記載のバス制御装置において
は、タイミングテーブル記憶部13には、ROM5、バ
ックアップメモリ6、デバイス7,8の少なくともホー
ルドタイムまたはリカバリタイムが記憶されているの
で、ホールドタイムまたはリカバリタイムに基づくタイ
ミングの制御を行うことができる。
【0022】請求項4に記載のバス制御装置において
は、データバッファ11によって、CPU1またはRO
M5、バックアップメモリ6、デバイス7,8が出力す
るデータをラッチし、アドレスバッファ21によって、
CPU1がROM5、バックアップメモリ6、デバイス
7,8に出力するアドレスをラッチする。そして、バス
幅テーブル記憶部14に記憶されているROM5、バッ
クアップメモリ6、デバイス7,8のバス幅に基づい
て、データバッファ11にラッチされたデータのパック
/アンパックを制御するとともに、バス幅テーブル記憶
部14に記憶されているROM5、バックアップメモリ
6、デバイス7,8のアドレス形式に基づいて、アドレ
スバッファ21にラッチされたアドレスを制御する。従
って、データのパック/アンパックおよびアドレス形式
を考慮することなく、アプリケーションプログラムを設
計することが可能となり、汎用性の高いアプリケーショ
ンプログラムを提供することができるようになる。
【0023】請求項5に記載のバス制御装置において
は、バス幅テーブル記憶部14に記憶されているROM
5、バックアップメモリ6、デバイス7,8のバス幅と
アドレス形式が、書き換え可能であるので、例えばRO
M5、バックアップメモリ6、デバイス7,8の仕様が
変更されたり、新たな周辺装置が追加されても、装置が
実質上、使用不可能となることが防止される。
【0024】
【実施例】図1は、本発明のバス制御装置を適用したゲ
ートウェイ4が設けられたコンピュータの一実施例の構
成を示すブロック図である。CPU1は、例えば32ビ
ットのCPUで、ROM5に記憶されているシステムプ
ログラムや、RAM2などに記憶されたアプリケーショ
ンプログラムにしたがって所定の処理を行う。RAM2
は、例えば32ビット幅の高速DRAMで、アプリケー
ションプログラムや装置の動作上必要なデータなどを記
憶する。デバイス3は、例えば32ビット幅の高速デバ
イスで、音声処理や画像処理などの所定の処理を行う。
【0025】CPU1、RAM2、およびデバイス3
は、32ビットの高速バスとしてのメインバス9に接続
され、CPU1と、RAM2またはデバイス3との間で
は、メインバス9を介して、高速で32ビットのデータ
がやりとりされるようになされている。
【0026】ROM5は、例えば8ビット幅のROM
で、システムプログラムを記憶している。バックアップ
メモリ(メモリ)6は、例えば16ビット幅のメモリ
で、データなどのバックアップを記憶する。デバイス7
は、例えば8ビット幅のデバイスで、音声処理や画像処
理などの所定の処理を行う。デバイス8は、例えば16
ビット幅の入出力インターフェイスである。
【0027】ROM5、メモリ6、デバイス7、および
8は、いずれもその動作速度が、CPU1より低速で、
例えば16ビットの汎用バスとしてのサブバス10に接
続されている。但し、8ビット幅のROM5とデバイス
7は、16ビットのサブバス10の下位8ビットに接続
されている。
【0028】なお、図示していないがメインバス9およ
びサブバス10は、データバス、アドレスバス、および
制御バスから構成されている。
【0029】ゲートウェイ4は、メインバス9とサブバ
ス10との間に接続され、CPU1と、ROM5、メモ
リ6、デバイス7、または8との間のデータのやりとり
を制御する。
【0030】即ち、ゲートウェイ4は、例えば図2に示
すように、データバッファ11、多重化器(MUX)1
2a乃至12d、タイミングテーブル記憶部13、バス
幅テーブル記憶部14、カウンタ15、コントローラ1
6、メインバスアドレスデコーダ17、アドレステーブ
ル記憶部18、サブバスアドレスデコーダ19、ステイ
タスバッファ20、アドレスバッファ21から構成され
る。
【0031】なお、図2において、点線は、制御信号線
を意味する。
【0032】データバッファ11は、コントローラ16
に制御され、CPU1からメインバス9を介して供給さ
れる32ビットのデータをラッチし、その上位から8ビ
ットごとの4つのデータを、MUX12a乃至12dに
それぞれ出力する。また、データバッファ11は、8ビ
ットの多重化器12a乃至12dからのデータをラッチ
し、32ビットのデータとしてメインバス9に出力す
る。
【0033】それぞれ8ビット幅で構成されているMU
X12a乃至12dは、コントローラ16に制御され、
データバッファ11からの4つの8ビットのデータをそ
れぞれラッチし、2つの16ビットのデータ、または4
つの8ビットのデータとしてサブバス10に出力する。
また、MUX12a乃至12dは、サブバス10からの
2つの16ビットのデータ、または4つの8ビットのデ
ータをラッチし、32ビットのデータとしてデータバッ
ファ11に出力する。
【0034】タイミングテーブル記憶部13には、サブ
バス10に接続されたROM5、メモリ6、デバイス
7、または8それぞれの、例えばリードディレイタイ
ム、ライトディレイタイム、ホールドタイム、フローテ
ィングタイム、およびリカバリタイムが記述された、図
3に示すようなタイミングテーブルが記憶されている。
【0035】なお、リードディレイタイムまたはライト
ディレイタイムとは、それぞれデータがリードまたはラ
イトされるときのアクセスタイムを意味し、ホールドタ
イムとは、ライト信号の出力が終了しても、バス上にデ
ータを保持する必要のある時間を意味する。また、フロ
ーティングタイムとは、データのリードが終了しても、
バス上にデータを保持する必要のある時間を意味し、リ
カバリタイムとは、同一の周辺装置に連続してアクセス
するときに必要なインターバル(1度目のアクセスが終
了してから、次のアクセスまでに設ける必要のある時間
間隔)を意味する。
【0036】バス幅テーブル記憶部14には、サブバス
10に接続されたROM5、メモリ6、デバイス7、ま
たは8が扱うデータ長(以下、バス幅という)と、その
アドレス形式が記述された、図4に示すようなバス幅テ
ーブルが記憶されている。
【0037】なお、図4のバス幅テーブルにおいて、ア
ドレス形式が固定となっている周辺装置(本実施例にお
いては、デバイス7および8)は、例えばFIFO型の
データバッファを内蔵しており、アンパックされて複数
に分割されたデータの読み書きの際に、所定の同一アド
レス(固定アドレス)を指定する必要のあるものであ
る。また、アドレス形式が可変となっている周辺装置
(本実施例においては、ROM5およびメモリ6)は、
アンパックされて複数に分割されたデータの読み書きの
際に、分割されたデータの1つの読み書きの後、次のデ
ータを読み書きするのに、アドレスをインクリメント
(またはデクリメント)して指定する必要のあるもので
ある。
【0038】カウンタ15は、図示せぬクロック発生器
からメインバス9およびコントローラ16を介して供給
されるシステムクロック(System Clock)
をカウントする。
【0039】コントローラ16は、タイミングテーブル
記憶部13に記憶されたタイミングテーブル(図3)に
基づいて、CPU1からメインバス9を介して供給され
るリード(Read)信号またはライト(Write)
信号のタイミングを変え、SRead信号またはSWr
ite信号としてサブバス10に出力する。また、コン
トローラ16は、タイミングテーブル記憶部13に記憶
されたタイミングテーブル(図3)に基づき、所定のタ
イミングで、後述するDataOk信号を出力する。
【0040】さらに、コントローラ16は、バス幅テー
ブル記憶部14に記憶されたバス幅テーブル(図4)に
記述されたバス幅およびCPU1からメインバス9を介
して供給されるAccessType(CPU1が扱う
データ長)に基づいて、データバッファ11を制御し、
データをパック/アンパックさせる。また、コントロー
ラ16は、バス幅テーブル記憶部14に記憶されたバス
幅テーブル(図4)に記述されたアドレス形式に基づい
て、アドレスバッファ21を制御する。
【0041】メインバスアドレスデコーダ17は、CP
U1よりメインバス9を介して出力されたアドレス(A
ddress)をデコードし、そのデコード結果と、ア
ドレステーブル記憶部18に記憶されているアドレスデ
コードテーブルとを比較する。そして、その比較結果か
ら、CPU1がアクセスしようとする周辺装置が、メイ
ンバス9に接続されたRAM2またはデバイス3である
か否かを判定し、それがRAM2またはデバイス3であ
ると判定した場合には、メインバス9を介してRAM2
またはデバイス3にチップセレクト信号を出力する。
【0042】アドレステーブル記憶部18は、RAM
2、デバイス3、ROM5、メモリ6、デバイス7、ま
たは8にそれぞれ割り当てられたアドレスのデコード結
果が記述されたアドレスデコードテーブルを記憶してい
る。
【0043】サブバスアドレスデコーダ19は、CPU
1よりメインバス9およびアドレスバッファ21を介し
て出力されたアドレスをデコードし、そのデコード結果
と、アドレステーブル記憶部18のアドレスデコードテ
ーブルに記述されている、RAM2、デバイス3、RO
M5、メモリ6、デバイス7、または8にそれぞれ割り
当てられたアドレスのデコード結果とを比較する。そし
て、その比較結果から、CPU1がアクセスしようとす
る周辺装置が、サブバス10に接続されたROM5、メ
モリ6、デバイス7、または8であるか否かを判定し、
それがサブバス10に接続された周辺装置のうちのいず
れか(ROM5、メモリ6、デバイス7、および8のう
ちのいずれか)であると判定した場合には、その周辺装
置に、サブバス10を介してチップセレクト信号を出力
する。
【0044】ステイタスバッファ20は、メインバスア
ドレスデコーダ17およびサブバスアドレスデコーダ1
9のうちのいずれかが、最後にチップセレクト信号を出
力した周辺装置、即ちCPU1が最後にアクセスした周
辺装置(周辺装置に割り当てられたアドレスのデコード
結果)を記憶する。さらに、ステイタスバッファ20
は、その記憶値と、次にサブバスアドレスデコーダ19
がチップセレクト信号を出力した周辺装置とが同一であ
る場合、即ちサブバス10に接続された任意の周辺装置
へのアクセスが連続して行われる場合、コントローラ1
6に、後述するリカバリ処理をさせるための制御信号を
出力する。
【0045】アドレスバッファ21は、CPU1からメ
インバス9を介して供給されたアドレスをラッチする。
そして、アドレスバッファ21は、コントローラ16の
制御に基づいて、ラッチしたアドレスをそのまま保持し
たり、あるいは所定のタイミングで、例えば1ずつイン
クリメント(またはデクリメント)する。
【0046】次に、その動作について説明するが、説明
をわかりやすくするために、実際には同時に行われるタ
イミングの制御と、バス幅およびアドレス形式の制御と
を分けて説明する。
【0047】まず、タイミングの制御について、図5お
よび図6のタイミングチャートを参照して説明する。な
お、図5および図6においては、信号Read,Dat
aOk,ChipSelect,SRead,SWri
teは、アクティブローの論理で示してある。また、装
置の各ブロックは、システムクロック(図5(a)およ
び図6(a))の立ち上がりエッジのタイミングに同期
して動作するものとする。
【0048】例えばCPU1がデバイス7から1バイト
(8ビット)のデータを読み出す場合、図5に示すよう
に、CPU1よりデバイス7に割り当てられたアドレス
(Address)(図5(c))がメインバス9を介
して出力され、このアドレスは、アドレスバッファ21
にラッチされるとともに、メインバスアドレスデコーダ
17に入力される。
【0049】アドレスバッファ21にラッチされたアド
レスは、信号SAddress(図5(h))としてサ
ブバス10に出力されるとともに、サブバスアドレスデ
コーダ19に出力される。
【0050】メインバスアドレスデコーダ17およびサ
ブバスアドレスデコーダ19では、CPU1からのアド
レスがデコードされ、そのデコード結果と、アドレステ
ーブル記憶部18に記憶されたアドレスデコードテーブ
ルとが比較される。
【0051】上述したようにいまCPU1からは、デバ
イス7に割り当てられたアドレスが出力されているの
で、サブバスアドレスデコーダ19によって、CPU1
がアクセスしようとする周辺装置がデバイス7であるこ
とが検出され、サブバス10を介してデバイス7に、チ
ップセレクト信号(ChipSelect)(図5
(f))が出力される。
【0052】サブバスアドレスデコーダ19のデコード
結果は、ステイタスバッファ20に記憶されるととも
に、ステイタスバッファ20を介してコントローラ16
に出力される。これにより、コントローラ16によっ
て、CPU1のアクセスの対象がデバイス7であること
が認識される。
【0053】さらに、CPU1から、メインバス9を介
してリード信号(Read)(図5(b))およびバイ
トアクセスを示すアクセスタイプ信号(AccessT
ype)が、コントローラ16に供給される。
【0054】コントローラ16は、CPU1からのリー
ド信号(Read)を受信すると、サブバス10にリー
ド信号(SRead)(図5(g))を出力する。
【0055】ここで、図3のタイミングテーブルに示す
ように、デバイス7は、2クロックのリードディレイタ
イムを有する。即ち、デバイス7においては、チップセ
レクト信号およびリード信号(SRead)が供給され
てから、データをサブバス10に出力するまでに2クロ
ックだけかかる。
【0056】そこで、コントローラ16は、リード信号
(SRead)をサブバス10に出力すると、まずカウ
ンタ15をリセットし、カウンタ15に、システムクロ
ック(図5(a))のタイミングで、0からのカウント
を開始させる。
【0057】さらに、コントローラ16において、タイ
ミングテーブル記憶部13のタイミングテーブル(図
3)に記述されたデバイス7のリードディレイタイムが
参照され、カウンタ15のカウント値がデバイス7のリ
ードディレイタイムに等しくなるまで、ウエイト時間が
おかれる。
【0058】従って、この場合、リード信号(SRea
d)が出力されてから、2クロックのウエイト時間がお
かれることになる。
【0059】サブバス10にリード信号(SRead)
が出力されてから、2クロック分の時間が経過すると、
デバイス7において、1バイトのデータ(SData)
(図5(i))が、16ビットのサブバス10の下位8
ビットに出力されるとともに、コントローラ16におい
て、MUX12dおよびデータバッファ11に、サブバ
ス10の下位8ビットのデータをラッチするように、C
PU1からの、8ビット(1バイト)のアクセスタイプ
を示す信号AccessTypeに基づく制御信号が出
力される。
【0060】これにより、デバイス7からの1バイトの
データ(SData)は、MUX12dを介してデータ
バッファ11の下位8ビットにラッチされる。
【0061】デバイス7からのデータ(SData)
が、データバッファ11にラッチされると、メインバス
9にデバイス7からのデータを出力することができるこ
とを示すDataOk信号(図5(e))が、コントロ
ーラ16からメインバス9を介してCPU1に供給され
るとともに、コントローラ16からサブバス10に出力
されていたリード信号(SRead)(図5(g))が
停止される。
【0062】さらに、このとき、コントローラ16は、
カウンタ15をリセットし、これによりカウンタ15に
おいて、システムクロック(図5(a))のタイミング
で、0からのカウントが開始される。
【0063】そして、データバッファ11にラッチされ
たデータが、メインバス9上に出力され(図5
(d))、これがCPU1によって読み込まれる。
【0064】すると、CPU1は、メインバス9へのリ
ード信号(Read)(図5(b))およびアドレス
(Address)(図5(c))の出力を停止する。
CPU1が、メインバス9へのリード信号(Read)
(図5(b))の出力を停止すると、コントローラ16
は、サブバスアドレスデコーダ19からデバイス7への
チップセレクト信号(ChipSelect)(図5
(f))の出力を停止させる。
【0065】そして、コントローラ16は、デバイス7
からのデータがデータバッファ11にラッチされた(デ
ータのリードが終了した)時刻から、デバイス7のフロ
ーティングタイムだけ経過し、デバイス7からサブバス
10へのデータ(SData)(図5(i))の出力が
停止すると、即ちタイミングテーブル(図3)に記述さ
れたデバイス7のフローティングタイムに、カウンタ1
5のカウント値が等しくなると、アドレスバッファ21
からサブバス10へのアドレス(SAddress)
(図5(h))の出力を停止させる。
【0066】ところで、CPU1は、上述したようにメ
インバス9へのアドレス(Address)(図5
(c))の出力を停止した時点で、デバイス7に対する
アクセスが終了したものと認識する(実際にCPU1に
とっては終了している)。
【0067】従って、CPU1が、メインバス9へのア
ドレス(Address)(図5(c))の出力を停止
した直後、例えばサブバス10に接続されたメモリ6に
データを書き込む場合を考えると、デバイス7からのデ
ータがデータバッファ11にラッチされた(データのリ
ードが終了した)時刻から、デバイス7のフローティン
グタイム(2クロック)だけ経過するまでは、即ち図5
において、P1で示す時刻を経過するまでは、デバイス
7がサブバス10上にデータ(SData)を出力して
いるので、このデータと、CPU1がメモリ6へ出力す
るデータが、サブバス10上でバッティングすることに
なる。
【0068】そこで、この場合、ゲートウェイ4におい
ては、CPU1が出力するデータを、データバッファ1
1でラッチしておき、メモリ6へのデータの書き込みが
終了したことを示す信号DataOkを、コントローラ
16からCPU1に出力するようになされている。
【0069】これにより、CPU1は、メモリ6へのデ
ータの書き込みが終了した(実際には、終了していない
が)と認識することになる。従って、メインバス9は、
即座に開放され、CPU1は、サブバス10に接続され
た周辺装置にアクセスする処理を除く処理を実行するこ
とができるようになる。
【0070】一方、ゲートウェイ4においては、デバイ
ス7からのデータがデータバッファ11にラッチされた
(データのリードが終了した)時刻から、デバイス7の
フローティングタイムだけ経過するのを待って(時刻P
1(図5)が経過するのを待って)、コントローラ1
6、サブバスアドレスデコーダ19、アドレスバッファ
21からサブバス10を介してメモリ6に、ライト信号
(SWrite)、チップセレクト信号、またはアドレ
ス(SAddress)がそれぞれ出力される。そし
て、データバッファ11にラッチされたCPU1からの
データが、サブバス10を介してメモリ6に出力されて
書き込まれる。
【0071】従って、この場合、CPU1は、デバイス
7からのデータがデータバッファ11にラッチされた
(データのリードが終了した)時刻から、デバイス7の
フローティングタイムだけ経過するのを待たずに、メモ
リ6へのデータの書き込み処理を行うことができるの
で、装置全体の処理速度を向上させることができる。
【0072】また、この場合、メモリ6へのデータの書
き込み処理は、いわばCPU1からゲートウェイ4に渡
され、ゲートウェイ4によって行われる。従って、CP
U1は、即座に他の処理を実行することができるように
なるので、CPU1と周辺装置との間のアクセスタイミ
ングを考える必要がなくなり、これによりアプリケーシ
ョンプログラムの開発を容易に行うことができるように
なる。
【0073】次に、図6は、CPU1からデバイス8へ
のデータの書き込み処理を説明するタイミングチャート
である。まず、CPU1よりデバイス8に割り当てられ
たアドレス(Address)(図6(c))がメイン
バス9を介して出力され、このアドレスは、アドレスバ
ッファ21にラッチされるとともに、メインバスアドレ
スデコーダ17に入力される。
【0074】アドレスバッファ21にラッチされたアド
レスは、信号SAddress(図5(h))としてサ
ブバス10に出力されるとともに、サブバスアドレスデ
コーダ19に出力される。
【0075】メインバスアドレスデコーダ17およびサ
ブバスアドレスデコーダ19では、CPU1からのアド
レスがデコードされ、そのデコード結果と、アドレステ
ーブル記憶部18に記憶されたアドレスデコードテーブ
ルとが比較される。
【0076】上述したようにいまCPU1からは、デバ
イス8に割り当てられたアドレスが出力されているの
で、サブバスアドレスデコーダ19によって、CPU1
がアクセスしようとする周辺装置がデバイス8であるこ
とが検出され、サブバス10を介してデバイス8に、チ
ップセレクト信号(ChipSelect)(図6
(f))が出力される。
【0077】サブバスアドレスデコーダ19のデコード
結果は、ステイタスバッファ20に記憶されるととも
に、ステイタスバッファ20を介してコントローラ16
に出力される。これにより、コントローラ16によっ
て、CPU1のアクセスの対象がデバイス8であること
が認識される。
【0078】さらに、CPU1から、メインバス9を介
してライト信号(Write)(図6(b))が、コン
トローラ16に供給されるとともに、データ(Dat
a)がデータバッファ11に供給されてラッチされる。
【0079】CPU1からのデータ(Data)が、デ
ータバッファ11にラッチされると、コントローラ16
は、CPU1に対し、データ(Data)のデバイス8
への書き込みが終了した(実際には終了していないが)
ことを示すDataOk信号(図6(e))を、コント
ローラ16からメインバス9を介してCPU1に供給す
る。
【0080】CPU1は、DataOk信号を受信する
と、データ(Data)の書き込みが終了したと認識し
て、ライト信号(Write)、アドレス(Addre
ss)、およびデータ(Data)の出力を停止し、次
の処理を実行する。
【0081】一方、コントローラ16は、CPU1から
のライト信号(Write)を受信すると、サブバス1
0にライト信号(SWrite)(図6(g))を出力
するとともに、データバッファ11に、ラッチしたデー
タを、信号SData(図6(i))として、サブバス
10に出力するように、制御信号を出力する。
【0082】これにより、データバッファ11からは、
データ(SData)がサブバス10上に出力される。
【0083】ここで、図3のタイミングテーブルに示す
ように、デバイス8は、3クロックのライトディレイタ
イムを有する。即ち、デバイス8においては、チップセ
レクト信号およびライト信号(SWrite)が供給さ
れてから、データをサブバス10から取り込むまでに3
クロックだけかかる。
【0084】さらに、デバイス8は、1クロックのホー
ルドタイムを有する。即ち、デバイス8に対してデータ
の書き込みを行う場合においては(デバイス8に対する
データの書き込みを補償するには)、ライト信号(SW
rite)の供給を停止してから、少なくとも1クロッ
ク分の時間が経過するまでは、データ(SData)お
よびアドレス(SAddress)をサブバス10上に
供給し続ける必要がある。
【0085】そこで、コントローラ16は、ライト信号
(SWrite)(図6(g))をサブバス10に出力
すると、まずカウンタ15をリセットし、カウンタ15
に、システムクロック(図6(a))のタイミングで、
0からのカウントを開始させる。
【0086】さらに、コントローラ16において、タイ
ミングテーブル記憶部13のタイミングテーブル(図
3)に記述されたデバイス8のライトディレイタイムが
参照され、カウンタ15のカウント値がデバイス8のラ
イトディレイタイムに等しくなるまで、ウエイト時間が
おかれる。
【0087】従って、この場合、ライト信号(SWri
te)が出力されてから、3クロックのウエイト時間が
おかれることになる。
【0088】サブバス10へライト信号(SWrit
e)が出力されてから、3クロック分の時間が経過する
と、コントローラ16からのライト信号(SWrit
e)およびチップセレクト信号の出力が停止される。
【0089】コントローラ16は、ライト信号(SWr
ite)(図6(g))の出力を停止すると、カウンタ
15をリセットし、カウンタ15に、システムクロック
(図6(a))のタイミングで、0からのカウントを開
始させる。
【0090】そして、コントローラ16において、タイ
ミングテーブル記憶部13のタイミングテーブル(図
3)に記述されたデバイス8のホールドタイムが参照さ
れ、カウンタ15のカウント値がデバイス8のホールド
タイムに等しくなるまで、ウエイト時間がおかれる。
【0091】従って、この場合、ライト信号(SWri
te)が出力が停止されてから、1クロックのウエイト
時間がおかれることになる。
【0092】ライト信号(SWrite)に出力が停止
されてから、1クロック分の時間が経過すると(1クロ
ック分以上の時間が経過した後の、システムクロックの
最初の立ち上がりエッジのタイミング(図6において、
2で示す時刻)で)、データバッファ11またはアド
レスバッファ21それぞれからのデータ(SData)
またはアドレス(SAddress)の出力が停止さ
れ、これによりデバイス8へのデータの書き込み処理が
終了する。
【0093】以上のようにして、ホールドタイムを有す
るデバイス8に対するアクセスタイミングが制御され、
デバイス8に対するデータの書き込みが保証される(デ
バイス8に、データが正確に書き込まれる)。
【0094】さらに、デバイス8へのデータの書き込み
処理は、いわばCPU1からゲートウェイ4に渡され、
ゲートウェイ4によって行われる。従って、上述したよ
うに、CPU1は、即座に他の処理を実行することがで
きるようになるので、装置全体の処理速度を向上させる
ことができる。
【0095】次に、例えばメモリ6に2回連続してデー
タの書き込みが行われる場合(2回連続してメモリ6へ
のアクセスが行われる場合)、まず1回目は、上述のデ
バイス8へのデータの書き込み処理における場合と同様
の処理が行われる。
【0096】即ち、ゲートウェイ4において、メモリ6
のライトディレイタイム(図3)を考慮したタイミング
制御がなされる(メモリ6のホールドタイム(図3)は
0であるから、無視される)。
【0097】ここで、図3のタイミングテーブルに示し
たように、メモリ6は10クロックのリカバリタイムを
有する。即ち、メモリ6に2回連続してアクセスする場
合においては、1回目のアクセスが終了してから、10
クロック分の時間を経過するまでは、2回目のアクセス
が保証されない。
【0098】そこで、ゲートウェイ4においては、メモ
リ6への1回目のアクセスの終了後、メモリ6への2回
目のアクセスが開始され、ステイタスバッファ20に、
サブバスアドレスデコーダ19がチップセレクト信号を
出力した周辺装置に割り当てられたアドレスのデコード
結果が供給されると、そのデコード結果と、いまステイ
タスバッファ20に記憶されている記憶値とが比較され
る。
【0099】ここで、1回目の、メモリ6へのデータの
書き込み処理が終了したときには、ステイタスバッファ
20に、サブバスアドレスデコーダ19の最新のデコー
ド結果、即ち直前にアクセスされた周辺装置がメモリ6
であることが記憶されている。
【0100】従って、この場合、サブバスアドレスデコ
ーダ19からいま出力されたデコード結果と、ステイタ
スバッファ20にいま記憶されている記憶値とが同一で
あると判定される。
【0101】すると、コントローラ16は、リカバリ処
理を行う。
【0102】即ち、コントローラ16は、まずカウンタ
15をリセットし、カウンタ15に、システムクロック
のタイミングで、0からのカウントを開始させる。
【0103】同時に、コントローラ16において、タイ
ミングテーブル記憶部13のタイミングテーブル(図
3)に記述されたメモリ6のリカバリタイムが参照さ
れ、それが0より大きい値に設定されていれば、カウン
タ15のカウント値がメモリ6のリカバリタイムに等し
くなるまで、ウエイト時間がおかれる。
【0104】従って、この場合、メモリ6への1回目の
アクセスが終了してから、10クロック分のウエイト時
間(インターバル)がおかれ、その後に、メモリ6に対
する2回目のデータの書き込みが行われる。
【0105】以上のようにして、リカバリタイムを有す
るメモリ6に対するアクセスタイミングが制御され、メ
モリ6に対して、連続してアクセスが行われても、その
動作が保証される。
【0106】また、ゲートウェイ4によるメモリ6への
1回目のアクセスの終了後、CPU1がメモリ6に対し
て2回目の書き込みデータとして出力するデータは、ゲ
ートウェイ4のデータバッファ4で、即座にラッチされ
る。
【0107】すると、コントローラ16からは、信号D
ataOkが、CPU1に出力される。
【0108】これにより、CPU1は、メモリ6へのデ
ータの書き込みが終了した(実際には、データバッファ
11にラッチされただけで、メモリ6へのデータの書き
込みは終了していない)と認識し、メインバス9は開放
される。従って、CPU1は、ゲートウェイ4によるメ
モリ6への1回目のアクセスの終了後、即座に他の処理
を実行することができるので、装置全体の処理速度を向
上させることができる。
【0109】なお、タイミングテーブル記憶部13に記
憶されたタイミングテーブル(図3)は、所定のプログ
ラムをCPU1に実行させることによって、書き換える
ことができるようになされている。従って、例えばRO
M5、バックアップメモリ6、デバイス7,8の仕様が
変更されたり、新たな周辺装置が追加されても、タイミ
ングテーブルを書き換えるだけで済み、例えば今まで使
用していたアプリケーションソフトの互換性がなくな
り、使用不可能となることが防止される。
【0110】次に、バス幅およびアドレス形式の制御に
ついて、図7および図8のタイミングチャートを参照し
て説明する。なお、図7および図8においては、信号R
ead,DataOk,ChipSelect,SRe
ad,SWriteは、アクティブローの論理で示して
ある。また、装置の各ブロックは、システムクロック
(図7(a)および図8(a))の立ち上がりエッジの
タイミングに同期して動作するものとする。
【0111】例えばCPU1が、8ビットのROM5か
ら32ビットのデータを読み出す場合、図7に示すよう
に、CPU1より、ROM5から読み出そうとするデー
タのアドレス(Address)(図7(c))がメイ
ンバス9を介して出力され、このアドレスは、アドレス
バッファ21にラッチされるとともに、メインバスアド
レスデコーダ17に入力される。
【0112】アドレスバッファ21にラッチされたアド
レスは、信号SAddress(図7(h))としてサ
ブバス10に出力されるとともに、サブバスアドレスデ
コーダ19に出力される。
【0113】メインバスアドレスデコーダ17およびサ
ブバスアドレスデコーダ19では、CPU1からのアド
レスがデコードされ、そのデコード結果と、アドレステ
ーブル記憶部18に記憶されたアドレスデコードテーブ
ルとが比較される。
【0114】上述したようにCPU1からは、ROM5
のアドレスが出力されているので、サブバスアドレスデ
コーダ19によって、CPU1がアクセスしようとする
周辺装置がROM5であることが検出され、サブバス1
0を介してROM5に、チップセレクト信号(Chip
Select)(図7(f))が出力される。
【0115】サブバスアドレスデコーダ19のデコード
結果は、ステイタスバッファ20に記憶されるととも
に、ステイタスバッファ20を介してコントローラ16
に出力される。これにより、コントローラ16によっ
て、CPU1のアクセスの対象がROM5であることが
認識される。
【0116】さらに、CPU1から、メインバス9を介
してリード信号(Read)(図7(b))および読み
出すデータ長が、32ビットであることを示すアクセス
タイプ信号(AccessType)が、コントローラ
16に供給される。
【0117】コントローラ16は、CPU1からのリー
ド信号(Read)を受信すると、サブバス10にリー
ド信号(SRead)(図7(g))を出力する。
【0118】これにより、ROM5のアドレス(SAd
dress)から、8ビットのデータ(SData)
(図7(i))が、16ビットのサブバス10の下位8
ビットに出力される。
【0119】ここで、図4のバス幅テーブルに示すよう
に、ROM5は、そのバス幅が8ビットであり、アドレ
ス形式が可変とされている。即ち、ROM5から、アク
セスタイプ信号(AccessType)で示される3
2ビットのデータを読み出すには、バス幅単位としての
8ビット単位で、アドレスをインクリメント(またはデ
クリメント)しながら、4回読み出す処理を行う必要が
ある。
【0120】そこで、コントローラ16は、CPU1か
らのアクセスタイプ信号(AccessType)およ
びバス幅テーブル記憶部14のバス幅テーブル(図4)
に記述されたROM5のバス幅およびアドレス形式に基
づいて、次のような制御を行う。
【0121】即ち、32ビットのデータが4つの8ビッ
トに分割されたデータを、上位の8ビットからd4
3,d2,d1と表した場合、この4つの8ビットのデ
ータd4,d3,d2,d1が、ROM5のアドレス(SA
ddress+3),(SAddress+2),(S
Address+1),(SAddress)にそれぞ
れ書き込まれているとすると、コントローラ16は、ま
ず上述のようにしてサブバス10に出力された、ROM
5のアドレス(SAddress)からの8ビットのデ
ータを、MUX12dを介して32ビットのデータバッ
ファ11の下位8ビットにラッチさせる。
【0122】そして、コントローラ16は、アドレスバ
ッファ21にラッチされているアドレス(SAddre
ss(=Address))を1だけインクリメントさ
せ、アドレス(SAddress+1)としてサブバス
10を介してROM5に出力させる。
【0123】これにより、ROM5のアドレス(SAd
dress+1)から、8ビットのデータがサブバス1
0に出力される。この8ビットのデータは、MUX12
cを介してデータバッファ11に、その下位8ビットの
次の8ビットのデータとしてラッチされる。
【0124】以下、同様にして、ROM5のアドレス
(SAddress+2),(SAddress+3)
から、8ビットのデータが読み出され、データバッファ
11に順次ラッチされる。なお、このとき、コントロー
ラ16は、アドレスバッファ21に記憶されたアドレス
をインクリメントするタイミングに基づいて、図7
(g)に示すように、ROM5に対するリード信号(S
Read)をON/OFFする。
【0125】以上のようにして、ROM5のアドレス
(SAddress),(SAddress+1),
(SAddress+2),(SAddress+3)
からそれぞれ読み出された8ビットのデータが、データ
バッファ11にラッチされ、32ビットのデータとされ
ると、即ち4つの8ビットのデータが32ビットのデー
タにパックされると、コントローラ16は、メインバス
9を介してCPU1に信号DataOk(図7(e))
を出力し、さらにデータバッファ11にラッチされてい
る32ビットのデータ(図7(d))をメインバス9に
出力させる。
【0126】CPU1は、信号DataOkを受信する
と、メインバス9上の32ビットのデータを取り込み、
これによりROM5からの32ビットのデータの読み込
みが終了する。
【0127】なお、バス幅テーブル記憶部14に記憶さ
れたバス幅テーブル(図4)は、所定のプログラムをC
PU1に実行させることによって、書き換えることがで
きるようになされている。従って、例えばROM5が8
ビットのROMから、16ビットのものへ変更された場
合には、バス幅テーブル(図4)のROM5のバス幅を
8ビットから16ビットに変えるだけでよい。
【0128】この場合、ROM5から2つの16ビット
のデータが読み出され、そのうちの一方(例えば、アド
レスが下位の16ビットのデータ)は、MUX12cお
よび12dを介して、データバッファ11の下位16ビ
ットにラッチされ、その他方(例えば、アドレスが上位
の16ビットのデータ)は、MUX12aおよび12b
を介して、データバッファ11の上位16ビットにラッ
チされて、32ビットにパックされる。
【0129】次に、CPU1によって、デバイス7への
32ビットのデータの書き込みが行われる場合、図8に
示すように、CPU1より、デバイス7へデータを書き
込もうとするアドレス(Address)(図8
(c))がメインバス9を介して出力され、このアドレ
スは、アドレスバッファ21にラッチされるとともに、
メインバスアドレスデコーダ17に入力される。
【0130】アドレスバッファ21にラッチされたアド
レスは、信号SAddress(図8(h))としてサ
ブバス10に出力されるとともに、サブバスアドレスデ
コーダ19に出力される。
【0131】メインバスアドレスデコーダ17およびサ
ブバスアドレスデコーダ19では、CPU1からのアド
レスがデコードされ、そのデコード結果と、アドレステ
ーブル記憶部18に記憶されたアドレスデコードテーブ
ルとが比較される。
【0132】上述したようにCPU1からは、デバイス
7のアドレスが出力されているので、サブバスアドレス
デコーダ19によって、CPU1がアクセスしようとす
る周辺装置がデバイス7であることが検出され、サブバ
ス10を介してデバイス7に、チップセレクト信号(C
hipSelect)(図8(f))が出力される。
【0133】サブバスアドレスデコーダ19のデコード
結果は、ステイタスバッファ20に記憶されるととも
に、ステイタスバッファ20を介してコントローラ16
に出力される。これにより、コントローラ16によっ
て、CPU1のアクセスの対象がデバイス7であること
が認識される。
【0134】さらに、CPU1から、メインバス9を介
してライト信号(Write)(図8(b))および書
き込むデータ長が、32ビットであることを示すアクセ
スタイプ信号(AccessType)が、コントロー
ラ16に供給されるとともに、デバイス7へ書き込む3
2ビットのデータ(Data)(図8(d))がメイン
バス9に出力される。
【0135】コントローラ16は、CPU1からのライ
ト信号(Write)を受信すると、メインバス9上の
32ビットのデータをデータバッファ11にラッチさせ
るとともに、サブバス10にライト信号(SWrit
e)(図8(g))を出力する。
【0136】さらに、コントローラ16は、CPU1に
信号DataOkを出力する。これにより、CPU1
は、デバイス7へのデータの書き込みが終了した(実際
には、終了していないが)と認識し、メインバス9は、
開放される。従って、その後CPU1は、その他の処理
を、即座に実行することができるので、装置全体の処理
速度を向上させることができる。
【0137】ここで、図4のバス幅テーブルに示すよう
に、デバイス7は、そのバス幅が8ビットであり、アド
レス形式が固定とされている。即ち、デバイス7へ、ア
クセスタイプ信号(AccessType)で示される
32ビットのデータを書き込むには、これをデバイス7
のバス幅単位としての8ビットのデータに4分割し、こ
の4つの8ビットのデータを、アドレスを固定して書き
込むようにする必要がある。
【0138】そこで、コントローラ16は、CPU1か
らのアクセスタイプ信号(AccessType)と、
バス幅テーブル記憶部14のバス幅テーブル(図4)に
記述されたデバイス7のバス幅およびアドレス形式に基
づいて、次のような制御を行う。
【0139】即ち、コントローラ16は、データバッフ
ァ11にラッチされている32ビットのデータを、8ビ
ット幅のMUX12a乃至12dにそれぞれ読み出させ
ることにより、4つの8ビットのデータにアンパックす
る。
【0140】そして、コントローラ16は、まずMUX
12dに読み出させた、32ビットのデータのうちのL
SB側の8ビットのデータを、サブバス10の下位8ビ
ットに出力させる。これにより、デバイス7のアドレス
(SAddress)に、8ビットのデータが書き込ま
れる。
【0141】さらに、コントローラ16は、アドレスバ
ッファ21に、記憶しているアドレス(SAddres
s)を保持させたまま、MUX12cに読み出させた、
32ビットのデータのうちのLSB側の8ビットの次の
上位8ビットのデータを、サブバス10の下位8ビット
に出力させる。これにより、デバイス7のアドレス(S
Address)に、8ビットのデータが書き込まれ
る。
【0142】以下、同様にして、デバイス7のアドレス
(SAddress)に、MUX12bおよび12aに
データバッファ11から読み出させた8ビットのデータ
が順次書き込まれる。なお、このとき、コントローラ1
6は、MUX12a乃至12dに、データバッファ11
からデータを読み出させるタイミングに基づいて、図8
(g)に示すように、デバイス7に対するライト信号
(SWrite)をON/OFFする。
【0143】デバイス7は、例えばFIFO型のバッフ
ァを内蔵しており、このバッファに、アドレス(SAd
dress)に対して書き込まれた4つの8ビットのデ
ータが、順次スタックされ(積み込まれ)、その後、デ
バイス7において、所定の処理が施される。
【0144】なお、例えばデバイス7が、バス幅8ビッ
トのものから、16ビットのものへ変更された場合に
は、上述した場合と同様にして、バス幅テーブル(図
4)のデバイス7のバス幅を8ビットから16ビットに
変えるだけでよい。
【0145】この場合、まずデータバッファ11にラッ
チされた32ビットのデータのうち、下位16ビットの
データが、MUX12cおよび12dによって読み出さ
れ、さらにその上位16ビットのデータが、MUX12
aおよび12bによって読み出されることによって、3
2ビットのデータが、2つの16ビットのデータにアン
パックされる。
【0146】従って、周辺装置のバス幅またはアドレス
方式が変更されたり、新たな周辺装置が追加されても、
バス幅テーブルを書き換えるだけで済み、例えば今まで
使用していたアプリケーションソフトの互換性がなくな
り、使用不可能となることが防止される。
【0147】以上説明を分かりやすくするために、タイ
ミングの制御と、バス幅およびアドレス形式の制御とを
分けて説明したが、ゲートウェイ4では、タイミングテ
ーブル(図3)およびバス幅テーブル(図4)に基づい
て、図9のフローチャートに示すように、これらの制御
が、並列して(同時に)行われるようになされている。
【0148】即ち、ゲートウェイ4においては、まずス
テップS1において、CPU1からメインバス9を介し
てライト信号またはリード信号とともにアドレスが出力
されるのが待たれ、CPU1からライト信号またはリー
ド信号とともにアドレスが出力されると、ステップS2
に進み、周辺装置に対し、CPU1からのアドレスが出
力されるとともに、そのアドレスのデコードが行われ、
そのデコード結果に対応する周辺装置にチップセレクト
信号が出力される。
【0149】そして、ステップS3に進み、CPU1か
らのアドレスをデコードした結果から、CPU1がアク
セスしようとしている周辺装置が、サブバス10に接続
されたものか否かが判定される。
【0150】ステップS3において、CPU1がアクセ
スしようとしている周辺装置が、サブバス10に接続さ
れたものでないと判定された場合、即ちCPU1がアク
セスしようとしている周辺装置が、メインバス9に接続
されたものである場合、上述のリカバリ処理を行う必要
がないため、ステップS4に進み、ステイタスバッファ
20がクリアされ、ステップS5に進む。
【0151】ステップS5において、メインバス9に接
続された周辺装置に対するCPU1のアクセスが行わ
れ、それが終了すると、ステップS1に戻り、再びステ
ップS1からの処理を繰り返す。
【0152】また、ステップS3において、CPU1が
アクセスしようとしている周辺装置が、サブバス10に
接続されたものであると判定された場合、ステップS
6,S7に順次進み、タイミングテーブル記憶部13、
バス幅テーブル記憶部14から、タイミングテーブル、
バス幅テーブルがそれぞれ読み出される。
【0153】そして、ステップS8に進み、CPU1の
アクセスタイプと、CPU1がアクセスしようとしてい
る周辺装置のバス幅が等しいか否かが判定される。ステ
ップS8において、CPU1のアクセスタイプと、CP
U1がアクセスしようとしている周辺装置のバス幅が等
しいと判定された場合、ステップS10に進み、変数N
に1がセットされ、ステップS11に進む。
【0154】また、ステップS8において、CPU1の
アクセスタイプと、CPU1がアクセスしようとしてい
る周辺装置のバス幅が等しくないと判定された場合、ス
テップS9に進み、変数Nにパック/アンパックを行う
回数がセットされ、ステップS11に進む。
【0155】ステップS11においては、ステップ1で
CPU1より出力された信号がライト信号であるか、ま
たはリード信号であるかが判定される。
【0156】ステップS11において、ステップ1でC
PU1より出力された信号がリード信号であると判定さ
れた場合、ステップS13に進み、周辺装置からのデー
タのリード処理が行われる。
【0157】即ち、ステップS13では、まず図10に
示すステップS21において、リカバリ処理が行われ
る。
【0158】ここで、ステップS13のリカバリ処理
は、図11のフローチャートに示すように行われる。
【0159】即ち、まずステップS31において、ステ
イタスバッファ21が参照され、いまCPU1がアクセ
スしようとしている周辺装置が、その直前にCPU1が
アクセスした周辺装置であるか否かが判定される。
【0160】ステップS31において、いまCPU1が
アクセスしようとしている周辺装置が、その直前にCP
U1がアクセスした周辺装置でないと判定された場合、
ステップS32に進み、ステイタスバッファ20に、い
まCPU1がアクセスしようとしている周辺装置が記憶
され、処理を終了する。
【0161】また、ステップS31において、いまCP
U1がアクセスしようとしている周辺装置が、その直前
にCPU1がアクセスした周辺装置であると判定された
場合、ステップS33に進み、タイミングテーブル(図
3)が参照され、いまCPU1がアクセスしようとして
いる周辺装置がリカバリタイムを有するか否かが判定さ
れる。
【0162】ステップS33において、いまCPU1が
アクセスしようとしている周辺装置がリカバリタイムを
有さないと判定された場合、処理を終了する。
【0163】ステップS33において、いまCPU1が
アクセスしようとしている周辺装置がリカバリタイムを
有すると判定された場合、ステップS34に進み、その
リカバリタイム分のウエイト時間がおかれ、処理を終了
する。
【0164】以上のようにして、ステップS31乃至S
34のリカバリ処理が終了すると、即ち図10のステッ
プS21の処理が終了すると、ステップS22に進み、
CPU1が、データを読み出そうとしている周辺装置に
サブバス10を介してリード信号(SRead)が出力
され、ステップS23に進む。
【0165】ステップS23において、タイミングテー
ブル記憶部13のタイミングテーブルに記述された、C
PU1がデータを読み出そうとしている周辺装置のリー
ドディレイタイム分のウエイト時間がおかれ、ステップ
S24に進み、周辺装置からデータが読み出され、それ
がデータバッファ11に、その下位ビットの方からラッ
チされるとともに、リード信号(SRead)の出力が
停止される。
【0166】そして、ステップS25に進み、いまデー
タの読み出しを行った周辺装置が、フローティングタイ
ムを有するか否かが判定される。ステップS25におい
て、いまデータの読み出しを行った周辺装置が、フロー
ティングタイムを有すると判定された場合、ステップS
26に進み、そのフローティングタイム分のウエイト時
間がおかれ、ステップS27に進む。
【0167】ステップS25において、いまデータの読
み出しを行った周辺装置が、フローティングタイムを有
さないと判定された場合、ステップS26をスキップし
て、ステップS27に進み、変数Nが1だけデクリメン
トされる。
【0168】そして、ステップS28に進み、変数Nが
0に等しいか否かが判定される。ステップS28におい
て、変数Nが0に等しくないと判定された場合、ステッ
プS29に進み、周辺装置からデータをさらに読み出す
ための次のアドレスの出力処理が行われる。
【0169】即ち、ステップS29では、まず図12に
示すステップS41において、図9のステップS7でバ
ス幅テーブル記憶部14から読み出したバス幅テーブル
(図4)が参照され、いまデータの読み出しを行った周
辺装置のアドレス形式が固定であるか否かが判定され
る。
【0170】ステップS41において、いまデータの読
み出しを行った周辺装置のアドレス形式が固定であると
判定された場合、即ちその周辺装置からデータをさらに
読み出すのに、アドレスバッファ21に記憶されたアド
レスを増減させる必要がない場合、ステップS42をス
キップして、処理を終了する。
【0171】また、ステップS41において、いまデー
タの読み出しを行った周辺装置のアドレス形式が固定で
なく、可変であると判定された場合、ステップS42に
進み、アドレスバッファ21に記憶されたアドレスが1
だけインクリメントされ、処理を終了する。
【0172】以上のようにして、次のアドレスの出力処
理が終了した後、即ち図10のステップS29の処理の
終了した後、ステップS21に戻り、ステップS28に
おいて、変数Nが0に等しいと判定されるまで、ステッ
プS21乃至S29の処理を繰り返す。
【0173】即ち、ステップS21乃至S29におい
て、周辺装置から、そのバス幅のデータが順次読み出さ
れ、そのデータが、データバッファ11に、その下位ビ
ットの方から順次ラッチされることにより、パックされ
る。そして、この処理が、(CPU1のアクセスタイ
プ)/(周辺装置のバス幅)回だけ繰り返される。
【0174】一方、ステップS28において、変数Nが
0に等しいと判定された場合、即ちステップS21乃至
S29の処理により、データバッファ11に、その下位
ビットから順次ラッチされたデータのデータ長が、CP
U1のアクセスタイプに等しくなった場合、ステップS
30に進み、データバッファ11にラッチされているデ
ータがメインバス9を介してCPU1に供給され、処理
を終了する。
【0175】以上のようにして、周辺装置からのデータ
のリード処理が終了すると、即ち図9のステップS13
の処理が終了すると、ステップS14に進む。
【0176】一方、図9のステップS11において、ス
テップ1でCPU1より出力された信号がライト信号で
あると判定された場合、ステップS12に進み、周辺装
置へのデータのライト処理が行われる。
【0177】即ち、ステップS12では、まずCPU1
からメインバス9を介して出力されたデータが、データ
バッファ11にラッチされる。そして、図13に示すス
テップS51において、CPU1に対し、信号Data
Okが出力され、ステップS52に進む。
【0178】これにより、上述したようにCPU1は、
周辺装置へのデータの書き込みが終了した(実際には、
終了していないが)と認識する。
【0179】ステップS52において、上述した図10
のステップS21(図11のステップS31乃至S3
4)と同様のリカバリ処理が行われ、ステップS53に
進み、データバッファ11にラッチされたCPU1から
のデータが、いまそのデータの書き込みを行う周辺装置
のバス幅(本実施例では、8ビットまたは16ビット)
にあわせて、その下位ビットの方からMUX12a乃至
12dを介して読み出され、信号SDataとしてサブ
バス10に出力されるとともに、ライト信号(SWri
te)がサブバス10に出力される。
【0180】そして、ステップS54に進み、図9のス
テップS6でタイミングテーブル記憶部13から読み出
されたタイミングテーブルに記述された、いまデータの
書き込みを行おうとしている周辺装置のライトディレイ
タイムが参照され、その分だけのウエイト時間がおかれ
る。
【0181】これにより、周辺装置のバス幅にあわせ
て、データバッファ11から読み出されたデータが、そ
の周辺装置へ書き込まれる。
【0182】その後、ステップS55において、ライト
信号(SWrite)の出力が停止され、ステップS5
6に進み、いまデータの書き込みを行った周辺装置が、
ホールドタイムを有するか否かが判定される。ステップ
S56において、いまデータの書き込みを行った周辺装
置が、ホールドタイムを有すると判定された場合、ステ
ップS57に進み、そのホールドタイム分のウエイト時
間がおかれ、ステップS58に進む。
【0183】一方、ステップS56において、いまデー
タの書き込みを行った周辺装置が、ホールドタイムを有
さないと判定された場合、ステップS57をスキップし
て、ステップS58に進み、変数Nが1だけデクリメン
トされる。
【0184】そして、ステップS59に進み、変数Nが
0に等しいか否かが判定される。ステップS59におい
て、変数Nが0に等しくないと判定された場合、ステッ
プS60に進み、周辺装置にデータをさらに書き込むた
めの次のアドレス、データの出力処理が行われる。
【0185】即ち、ステップS60では、まず図14に
示すステップS71において、図9のステップS7でバ
ス幅テーブル記憶部14から読み出されたバス幅テーブ
ル(図4)が参照され、いまデータの書き込みを行った
周辺装置のバス幅が、8ビットであるか否かが判定され
る。
【0186】ステップS71において、いまデータの書
き込みを行った周辺装置のバス幅が、8ビットでないと
判定された場合、即ちそのバス幅が16ビットである場
合(本実施例においては、サブバス10に接続された周
辺装置のバス幅が8ビットまたは16ビットのいずれか
としている)、ステップS72に進み、データバッファ
11にラッチされた32ビットのデータの上位16ビッ
トがMUX12a,12bに出力され、ステップS74
に進む。
【0187】また、ステップS71において、いまデー
タの書き込みを行った周辺装置のバス幅が、8ビットで
あると判定された場合、ステップS73に進み、データ
バッファ11にラッチされた32ビットのデータのうち
の、直前に出力された8ビットの次の上位8ビットがM
UX12c(12bまたは12a)に出力され、ステッ
プS74に進む。
【0188】ステップS74においては、再びバス幅テ
ーブル(図4)が参照され、いまデータの書き込みを行
った周辺装置のアドレス形式が固定であるか否かが判定
される。
【0189】ステップS74において、いまデータの書
き込みを行った周辺装置のアドレス形式が固定であると
判定された場合、即ちその周辺装置にデータをさらに書
き込むのに、アドレスバッファ21に記憶されたアドレ
スを増減させる必要がない場合、ステップS75をスキ
ップして、処理を終了する。
【0190】また、ステップS74において、いまデー
タの書き込みを行った周辺装置のアドレス形式が固定で
なく、可変であると判定された場合、ステップS75に
進み、アドレスバッファ21に記憶されたアドレスが1
だけインクリメントされ、処理を終了する。
【0191】以上のようにして、次のアドレス、データ
の出力処理が終了した後、即ち図13のステップS60
の処理の終了した後、ステップS51に戻り、ステップ
S59において、変数Nが0に等しいと判定されるま
で、ステップS51乃至S60の処理を繰り返す。
【0192】即ち、ステップS51乃至S60におい
て、CPU1からのデータを記憶しているデータバッフ
ァ11から、周辺装置のバス幅にあわせて、その下位ビ
ットの方からデータが順次読み出されることにより、デ
ータがアンパックされ、周辺装置に書き込まれる。そし
て、この処理が、(CPU1のアクセスタイプ)/(周
辺装置のバス幅)回だけ繰り返される。
【0193】一方、ステップS59において、変数Nが
0に等しいと判定された場合、即ちステップS51乃至
S60の処理により、データバッファ11の下位ビット
から、データが順次読み出され、そのデータが周辺装置
にすべて書き込まれた場合、ステップS61に進み、周
辺装置へのデータ(SData)の出力が停止され、処
理を終了する。
【0194】以上のようにして、周辺装置へのデータの
ライト処理が終了すると、即ち図9のステップS12の
処理が終了すると、ステップS14,S15に順次進
み、周辺装置へ出力されていたチップセレクト信号、ア
ドレス(SAddress)の出力が停止される。
【0195】そして、ステップS1に戻り、再びステッ
プS1からの処理を繰り返す。
【0196】以上のようにして、ゲートウェイ4では、
タイミングの制御と、バス幅およびアドレス形式の制御
と、並列して(同時に)行われるので、装置全体の処理
速度を向上させることができる他、ハードウェアに対す
る依存性の少ないアプリケーションプログラムを提供す
ることが可能となる。
【0197】
【発明の効果】請求項1に記載のバス制御装置によれ
ば、記憶手段に記憶されている周辺装置の動作タイミン
グに基づいて、中央演算処理装置と周辺装置との間のア
クセスタイミングを制御する。従って、中央演算処理装
置と周辺装置との間のアクセスタイミングを調整する、
例えばウエイトコントローラなどのハードウェアを、周
辺装置ごとに設ける必要がなくなるので、装置全体を大
型化、高コスト化することなく、中央演算処理装置と周
辺装置との間のアクセスタイミングを制御することがで
きる。
【0198】請求項2に記載のバス制御装置によれば、
記憶手段に記憶された周辺装置の動作タイミングが、書
き換え可能であるので、例えば周辺装置の仕様が変更さ
れたり、新たな周辺装置が追加されても、装置が、実質
上、使用不可能となることが防止される。
【0199】請求項3に記載のバス制御装置によれば、
記憶手段には、周辺装置の少なくともホールドタイムま
たはリカバリタイムが記憶されているので、ホールドタ
イムまたはリカバリタイムに基づくタイミングの制御を
行うことができる。
【0200】請求項4に記載のバス制御装置によれば、
データラッチ手段によって、中央演算処理装置または周
辺装置が出力するデータをラッチし、アドレスラッチ手
段によって、中央演算処理装置が周辺装置に出力するア
ドレスをラッチする。そして、記憶手段に記憶されてい
る周辺装置のバス幅に基づいて、データラッチ手段にラ
ッチされたデータのパック/アンパックを制御するとと
もに、記憶手段に記憶されている周辺装置のアドレス形
式に基づいて、アドレスラッチ手段にラッチされたアド
レスを制御する。従って、データのパック/アンパック
およびアドレス形式を考慮することなく、アプリケーシ
ョンプログラムを設計することが可能となり、汎用性の
高いアプリケーションプログラムを提供することができ
るようになる。
【0201】請求項5に記載のバス制御装置によれば、
記憶手段に記憶されている周辺装置のバス幅とアドレス
形式が、書き換え可能であるので、例えば周辺装置の仕
様が変更されたり、新たな周辺装置が追加されても、装
置が実質上、使用不可能となることが防止される。
【図面の簡単な説明】
【図1】本発明のバス制御装置を適用したコンピュータ
の一実施例の構成を示すブロック図である。
【図2】図1の実施例におけるゲートウェイ4のより詳
細なブロック図である。
【図3】タイミングテーブルを示す図である。
【図4】バス幅テーブルを示す図である。
【図5】デバイス7からCPU1へデータの読み出しが
行われるときの動作を説明するタイミングチャートであ
る。
【図6】CPU1からデバイス8へデータの書き込みが
行われるときの動作を説明するタイミングチャートであ
る。
【図7】ROM5からCPU1へデータの読み出しが行
われるときの動作を説明するタイミングチャートであ
る。
【図8】CPU1からデバイス7へデータの書き込みが
行われるときの動作を説明するタイミングチャートであ
る。
【図9】ゲートウェイ4の動作を説明するフローチャー
トである。
【図10】図9のフローチャートのステップS13のデ
ータのリード処理のより詳細を説明するフローチャート
である。
【図11】図10のフローチャートのステップS21の
リカバリ処理のより詳細を説明するフローチャートであ
る。
【図12】図10のフローチャートのステップS29の
次のアドレスの出力処理のより詳細を説明するフローチ
ャートである。
【図13】図9のフローチャートのステップS12のデ
ータのライト処理のより詳細を説明するフローチャート
である。
【図14】図13のフローチャートのステップS60の
次のアドレス、データの出力処理のより詳細を説明する
フローチャートである。
【符号の説明】
4 ゲートウェイ 11 データバッファ 12a乃至12d 多重器 13 タイミングテーブル記憶部 14 バス幅テーブル記憶部 15 カウンタ 16 コントローラ 17 メインバスアドレスデコーダ 18 アドレステーブル記憶部 19 サブバスアドレスデコーダ 20 ステイタスバッファ 21 アドレスバッファ

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 中央演算処理装置が接続されたメインバ
    スと、周辺装置が接続されたサブバスとの間に接続され
    るバス制御装置であって、 前記周辺装置の動作タイミングを記憶している記憶手段
    を備え、 前記記憶手段に記憶されている前記周辺装置の動作タイ
    ミングに基づいて、前記中央演算処理装置と前記周辺装
    置との間のアクセスタイミングを制御することを特徴と
    するバス制御装置。
  2. 【請求項2】 前記記憶手段に記憶された周辺装置の動
    作タイミングは、書き換え可能であることを特徴とする
    請求項1に記載のバス制御装置。
  3. 【請求項3】 前記記憶手段には、周辺装置の少なくと
    もホールドタイムまたはリカバリタイムが記憶されてい
    ることを特徴とする請求項1または2に記載のバス制御
    装置。
  4. 【請求項4】 中央演算処理装置が接続されたメインバ
    スと、周辺装置が接続されたサブバスとの間に接続され
    るバス制御装置であって、 前記周辺装置のバス幅とアドレス形式を記憶している記
    憶手段と、 前記中央演算処理装置または周辺装置が出力するデータ
    をラッチするデータラッチ手段と、 前記中央演算処理装置が前記周辺装置に出力するアドレ
    スをラッチするアドレスラッチ手段と、 前記記憶手段に記憶されている前記周辺装置のバス幅に
    基づいて、前記データラッチ手段にラッチされたデータ
    のパック/アンパックを制御するとともに、前記記憶手
    段に記憶されている前記周辺装置のアドレス形式に基づ
    いて、前記アドレスラッチ手段にラッチされたアドレス
    を制御する制御手段とを備えることを特徴とするバス制
    御装置。
  5. 【請求項5】 前記記憶手段に記憶された周辺装置のバ
    ス幅とアドレス形式は、書き換え可能であることを特徴
    とする請求項4に記載のバス制御装置。
JP11284193A 1993-05-14 1993-05-14 バス制御装置 Expired - Lifetime JP3608804B2 (ja)

Priority Applications (9)

Application Number Priority Date Filing Date Title
JP11284193A JP3608804B2 (ja) 1993-05-14 1993-05-14 バス制御装置
TW089213161U TW535941U (en) 1993-05-14 1994-04-19 Bus control device
EP02000578A EP1197871A3 (en) 1993-05-14 1994-05-09 Bus control apparatus
EP94303326A EP0624846B1 (en) 1993-05-14 1994-05-09 Bus control apparatus
DE69432063T DE69432063T2 (de) 1993-05-14 1994-05-09 Bussteuereinrichtung
MYPI94001182A MY110919A (en) 1993-05-14 1994-05-11 Bus control apparatus
KR1019940010356A KR100319331B1 (ko) 1993-05-14 1994-05-12 버스제어장치및버스제어방법
US08/556,803 US5682555A (en) 1993-05-14 1995-11-02 Bus control apparatus
US08/707,059 US5935428A (en) 1993-05-14 1996-09-03 Apparatus and method for performing efficient read and write operations in a multiple bus system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11284193A JP3608804B2 (ja) 1993-05-14 1993-05-14 バス制御装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2003186235A Division JP2004005713A (ja) 2003-06-30 2003-06-30 バス制御装置

Publications (2)

Publication Number Publication Date
JPH06324990A true JPH06324990A (ja) 1994-11-25
JP3608804B2 JP3608804B2 (ja) 2005-01-12

Family

ID=14596876

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11284193A Expired - Lifetime JP3608804B2 (ja) 1993-05-14 1993-05-14 バス制御装置

Country Status (7)

Country Link
US (2) US5682555A (ja)
EP (2) EP0624846B1 (ja)
JP (1) JP3608804B2 (ja)
KR (1) KR100319331B1 (ja)
DE (1) DE69432063T2 (ja)
MY (1) MY110919A (ja)
TW (1) TW535941U (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008547138A (ja) * 2005-06-30 2008-12-25 インテル コーポレイション 動的データプリフェッチのためのシステム及び方法

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5687329A (en) * 1995-09-29 1997-11-11 International Business Machines Corporation Information handling system including a data bus management unit, an address management unit for isolating processor buses from I/O and memory
TW315559B (en) * 1996-03-19 1997-09-11 Hitachi Ltd Communication control device and communication system thereof
JPH09311812A (ja) * 1996-05-24 1997-12-02 Oki Electric Ind Co Ltd マイクロコンピュータ
US6016527A (en) * 1996-09-30 2000-01-18 Lsi Logic Corporation Method and apparatus for improving fairness in SCSI bus arbitration
US6336159B1 (en) 1997-06-25 2002-01-01 Intel Corporation Method and apparatus for transferring data in source-synchronous protocol and transferring signals in common clock protocol in multiple agent processing system
US6507920B1 (en) * 1999-07-15 2003-01-14 Teradyne, Inc. Extending synchronous busses by arbitrary lengths using native bus protocol
US7366843B2 (en) * 2002-06-28 2008-04-29 Sun Microsystems, Inc. Computer system implementing synchronized broadcast using timestamps
US7103701B2 (en) * 2002-09-23 2006-09-05 Hewlett-Packard Development Company, L.P. Memory bus interface
US6775191B1 (en) * 2002-10-22 2004-08-10 Silicon Magnetic Systems Memory circuit with selective address path
FI20022113L (fi) * 2002-11-29 2004-08-06 Nokia Corp Menetelmä ja järjestelmä väyläleveyden tunnistamiseksi, elektroniikkalaite ja oheislaite
KR100532471B1 (ko) * 2003-09-26 2005-12-01 삼성전자주식회사 입출력 데이터 위스 조절이 가능한 메모리 장치 및 그위스 조절 방법
US7366864B2 (en) * 2004-03-08 2008-04-29 Micron Technology, Inc. Memory hub architecture having programmable lane widths
CN1299214C (zh) * 2004-03-12 2007-02-07 南京大学 一种pci接口ad总线再复用的方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2576432B1 (fr) * 1985-01-24 1989-06-02 Brion Alain Dispositif d'echange de donnees entre un calculateur et une unite peripherique
JPS61175845A (ja) * 1985-01-31 1986-08-07 Toshiba Corp マイクロプロセツサシステム
JPS6226561A (ja) * 1985-07-26 1987-02-04 Toshiba Corp パ−ソナルコンピユ−タ
US4947368A (en) * 1987-05-01 1990-08-07 Digital Equipment Corporation Lookahead bus arbitration system with override of conditional access grants by bus cycle extensions for multicycle data transfers
US5155812A (en) * 1989-05-04 1992-10-13 Texas Instruments Incorporated Devices and method for generating and using systems, software waitstates on address boundaries in data processing
GB2211326B (en) * 1987-10-16 1991-12-11 Hitachi Ltd Address bus control apparatus
US4878166A (en) * 1987-12-15 1989-10-31 Advanced Micro Devices, Inc. Direct memory access apparatus and methods for transferring data between buses having different performance characteristics
JPH0212541A (ja) * 1988-04-29 1990-01-17 Internatl Business Mach Corp <Ibm> コンピユーテイング・システム及びその動作方法
US5301278A (en) * 1988-04-29 1994-04-05 International Business Machines Corporation Flexible dynamic memory controller
US5274781A (en) * 1988-07-25 1993-12-28 Allen-Bradley Company, Inc. Programmable controller module identification by interconnecting the input and output ports of a module in a predefined manner
US5193193A (en) * 1988-09-14 1993-03-09 Silicon Graphics, Inc. Bus control system for arbitrating requests with predetermined on/off time limitations
US5274767A (en) * 1988-09-23 1993-12-28 Allen-Bradley Company, Inc. Programmable controller with module identification and diagnostic mechanism
US5287457A (en) * 1989-01-13 1994-02-15 International Business Machines Corporation Computer system DMA transfer
US5416907A (en) * 1990-06-15 1995-05-16 Digital Equipment Corporation Method and apparatus for transferring data processing data transfer sizes
US5287528A (en) * 1990-07-03 1994-02-15 National Instruments Corporation IEEE 488 interface for message handling method
JPH0470946A (ja) * 1990-07-04 1992-03-05 Mitsubishi Electric Corp Dmaコントローラを内蔵した処理装置
EP0466970B1 (en) * 1990-07-20 2004-09-22 Infineon Technologies AG Microprocessor with multiple bus configurations
US5522064A (en) * 1990-10-01 1996-05-28 International Business Machines Corporation Data processing apparatus for dynamically setting timings in a dynamic memory system
JPH04157550A (ja) * 1990-10-22 1992-05-29 Toshiba Corp パーソナルコンピュータシステム
EP0488685B1 (en) * 1990-11-29 2000-11-02 Fujitsu Limited ISDN interface unit
JPH05173938A (ja) * 1991-10-08 1993-07-13 Fujitsu Ltd 間欠dma制御方式
DE69228975T2 (de) * 1991-10-28 1999-11-18 Eastman Kodak Co., Rochester Steuerungsschaltung zur Datenübertragung von einem VME-Bus zu einer SCSI-Platteneinheit
JP2836321B2 (ja) * 1991-11-05 1998-12-14 三菱電機株式会社 データ処理装置
JPH05173932A (ja) * 1991-12-24 1993-07-13 Toshiba Corp データ転送装置
US5241632A (en) * 1992-01-30 1993-08-31 Digital Equipment Corporation Programmable priority arbiter

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008547138A (ja) * 2005-06-30 2008-12-25 インテル コーポレイション 動的データプリフェッチのためのシステム及び方法
US8370581B2 (en) 2005-06-30 2013-02-05 Intel Corporation System and method for dynamic data prefetching

Also Published As

Publication number Publication date
US5935428A (en) 1999-08-10
EP1197871A2 (en) 2002-04-17
EP1197871A3 (en) 2009-09-30
TW535941U (en) 2003-06-01
DE69432063T2 (de) 2003-10-30
EP0624846B1 (en) 2003-01-29
JP3608804B2 (ja) 2005-01-12
KR100319331B1 (ko) 2002-04-06
EP0624846A2 (en) 1994-11-17
US5682555A (en) 1997-10-28
MY110919A (en) 1999-06-30
EP0624846A3 (en) 1995-01-18
DE69432063D1 (de) 2003-03-06

Similar Documents

Publication Publication Date Title
US8396994B1 (en) Command queue for peripheral component
JP2571067B2 (ja) バスマスタ
JPH06324990A (ja) バス制御装置
JP2001142842A (ja) Dmaハンドシェークプロトコル
JP2001524247A (ja) 複数のメモリアドレスを格納および処理するための方法およびシステム
US5887157A (en) Local bus interface
JP3803196B2 (ja) 情報処理装置、情報処理方法および記録媒体
JPH10116187A (ja) マイクロコンピュータ
JPH06103225A (ja) チェーン式dma方式及びそのためのdmaコントローラ
JP2004127305A (ja) メモリ制御装置
JP2004005713A (ja) バス制御装置
JP3509981B2 (ja) 画像表示制御方法およびその装置
KR0153537B1 (ko) 메모리 번지 데이타를 선행 선택하는 신호처리 구조
JP2002251883A (ja) 半導体記憶装置および情報処理システム
JPH05197612A (ja) データ・アクセス回路
CN1534442A (zh) 控制外围设备输出数据到总线的方法及其相关装置
JP2005063351A (ja) データ転送装置およびデータ転送方法
JPS6230648B2 (ja)
JPS58123146A (ja) メモリアドレス拡張方式
JPH10149313A (ja) 共有メモリ制御装置
JP2000172554A (ja) Sdram使用の画像形成装置
JPH0962562A (ja) メモリの処理回路
JPH02227761A (ja) データ転送制御装置及びデータ処理システム
JPH06332590A (ja) コンピュータインターフェース装置
JPH04181592A (ja) ダイナミック型半導体記憶装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040427

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040623

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20040722

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20041012

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041012

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081022

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091022

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101022

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111022

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121022

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131022

Year of fee payment: 9

EXPY Cancellation because of completion of term