JPH03180958A - Information processor - Google Patents
Information processorInfo
- Publication number
- JPH03180958A JPH03180958A JP31884289A JP31884289A JPH03180958A JP H03180958 A JPH03180958 A JP H03180958A JP 31884289 A JP31884289 A JP 31884289A JP 31884289 A JP31884289 A JP 31884289A JP H03180958 A JPH03180958 A JP H03180958A
- Authority
- JP
- Japan
- Prior art keywords
- signal
- output
- bus
- low
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Bus Control (AREA)
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
この発明は、システムバスに接続されたCPUとダイレ
クトメモリアクセスコントローラとのバス権を調整しな
がら各デバイスのデータ処理を実行する情報処理装置に
関するものである。[Detailed Description of the Invention] [Industrial Application Field] The present invention relates to an information processing apparatus that executes data processing of each device while adjusting bus rights between a CPU and a direct memory access controller connected to a system bus. It is something.
従来、この種の装置においてDMA制御を行う場合には
、データ、アドレスの各バスをCPUとDMA転送用ハ
ードウェアが共有して使用するため、そのバス権の調整
が必要となり、大別して下記(1) 、 (2)の転送
方式が採用されている。Conventionally, when performing DMA control in this type of device, the data and address buses are shared between the CPU and the DMA transfer hardware, so it is necessary to adjust the bus ownership. The transfer methods 1) and (2) are adopted.
(1)CPUがバスをアクセスしていない時を利用して
転送を行う方式(サイクル・スチール方式)。(1) A method in which transfer is performed using the time when the CPU is not accessing the bus (cycle steal method).
(2)DMA制御回路が優先となり、CPUを止めて転
送を行う方式。(2) A method in which the DMA control circuit has priority and the CPU is stopped for transfer.
このうち、(2)の方式は、さらに細分化すると、転送
データを1バイト毎にCPUに制御を返す方式(バイト
・モード)、I10装置からデータ要求がある間DMA
制御側が権利を持ち続ける方式(連続モード)、さらに
、必要なバイト数の転送が終了するまでDMA側が権利
を持つ方式(バーストモード)等に分かれる。Of these, method (2) is further subdivided into a method in which control is returned to the CPU for each byte of transferred data (byte mode), a method in which control is returned to the CPU for each byte of transfer data, and a method in which DMA is used while a data request is received from an I10 device.
There are two types of methods: a method in which the control side continues to hold the right (continuous mode), and a method in which the DMA side holds the right until the transfer of the required number of bytes is completed (burst mode).
(発明が解決しようとする課題〕
ところで、この種の装置で採用されるCPUファ主りの
中にはTAS命令のリートモディファイライトサイクル
のように、1つのバスサイクル中に読み出しモードと書
込みモードがあるような場合、このバスサイクルをサポ
ートするようにメモリコントローラを設計する必要があ
り、メモリ回路構成が複雑化してバスアクセス制御が難
しくなるという問題点があった。(Problem to be Solved by the Invention) By the way, some of the main CPUs used in this type of device have read mode and write mode in one bus cycle, such as the read-modify write cycle of the TAS instruction. In some cases, it is necessary to design a memory controller to support this bus cycle, which poses the problem of complicating the memory circuit configuration and making bus access control difficult.
この発明は、上記の問題点を解決するためになされたも
ので、リードモディファイトライトモド中または出力バ
スからの応答が存在し、かつ入力バスで読出しと書込み
のモート切換え時に出力のバスサイクルを一時中断する
ことにより、資源となるメモリアクセスコントローラに
よるバスサイクル設計制限を大幅に緩和できる情報処理
装置を得ることを目的とする。This invention was made in order to solve the above problems, and temporarily interrupts the output bus cycle when there is a response from the output bus during read modify write mode, and when the input bus switches between read and write motes. It is an object of the present invention to provide an information processing device that can significantly relax the bus cycle design restrictions imposed by the memory access controller, which is a resource, by interrupting the bus cycle.
〔課題を解決するための手段)
この発明に係る情報処理装置は、リードモディファイド
ライトモード中または出力バスからの応答か存在し、か
つ人力バスで読出しと書込みのモト切換え時に出力のバ
スサイクルを一時中断しなからハスサイクルを再開する
バスサイクル制御手段を設けたものである。[Means for Solving the Problems] The information processing device according to the present invention temporarily interrupts the output bus cycle when in the read modified write mode or when there is a response from the output bus, and when switching between reading and writing on the human-powered bus. A bus cycle control means is provided for restarting the bus cycle without interrupting it.
この発明においては、バスサイクル制御手段はリードモ
ディファイドライトモード中または出力バスからの応答
か存在し、かつ人力バスで読出しと書込みのモード切換
え時に出力のバスサイクルを一時中断しなからハスサイ
クルを再開し、資源となるメモリコントローラは通常の
ハスサイクルで各デバイスとのデータ処理を可能とする
。In this invention, the bus cycle control means is in the read modified write mode or when there is a response from the output bus, and when switching between read and write modes on the human-powered bus, the bus cycle control means does not temporarily suspend the output bus cycle and restarts the hash cycle. However, the memory controller, which serves as a resource, enables data processing with each device in a normal hash cycle.
第1図はこの発明の一実施例を示す情報処理装置の構成
を説明するシステムブロック図であり、1はスキャナで
、静止画像を人力する。2はプリンタで、印刷結果を出
力する。3は5csrコントローラで、スキャナ1およ
びプリンタ2とのデータの入出力を行う。4は高精細型
のCRTデイスプレィ、5はインタフェース、6はポイ
ンティングデバイスで、2キーを指示して座標情報、ア
イコン指示等を行う。7はインタフェース(I/F)て
、ポインティングデバイス6からの座標情報等を処理す
る。8はメモリ(スタティックRAM)で、サブCPU
9のプログラムデータを格納する。10はデュアルポー
トメモリ(デュアルポートRAM)11のシリアルボー
ト側でデータの入出力を行うシリアルインタフェースで
、ポインティングデバイス6の状態を定期的に参照する
ためのタイマを内蔵している。11はランダムホトとシ
リアルボートを有するスキャナ、プリンタ用のデュアル
ポートメモリ、12は前記CRTデイスプレィ4用のデ
ュアルポートメモリ、13はメモリコントローラで、デ
ュアルポートメモリ11.12のリフレッシュ、シリア
ル読出し、シリアル書込み、疑似書込み転送タイ主ング
、CPUアクセスおよび二次元DMAを行う。14はア
ービタ(調停器)て、サブCPU9.メインcpU33
.DMAコントローラ(DMAC) 13のバス権の調
整を制御するとともに、サブCPU9、メインCPU3
3の割込みハントシェークを行う。15は画像圧縮伸張
デバイスで、イメージデータを圧縮・伸張する。16は
バス幅調整デバイスで、画像圧縮伸張デバイス15の圧
縮コードをバス44のバス幅に合せてデータを人出力す
る。17はデバイスで、イメージデータをXY変換する
。18はデバイスで、イメージデータの間引・補間を処
理する。19〜21はバッファで、バスを駆動する。FIG. 1 is a system block diagram illustrating the configuration of an information processing apparatus showing an embodiment of the present invention. Reference numeral 1 denotes a scanner that manually scans still images. 2 is a printer that outputs the print result. A 5csr controller 3 inputs and outputs data to and from the scanner 1 and printer 2. 4 is a high-definition CRT display, 5 is an interface, and 6 is a pointing device for specifying coordinate information, icons, etc. by specifying 2 keys. An interface (I/F) 7 processes coordinate information etc. from the pointing device 6. 8 is memory (static RAM), sub CPU
Stores 9 program data. A serial interface 10 inputs and outputs data on the serial port side of the dual port memory (dual port RAM) 11, and has a built-in timer for periodically referencing the state of the pointing device 6. 11 is a dual port memory for a scanner and printer having a random photo and a serial port, 12 is a dual port memory for the CRT display 4, and 13 is a memory controller for refreshing, serial reading, and serial writing of the dual port memory 11.12. , pseudo write transfer tying, CPU access and two-dimensional DMA. 14 is an arbiter (arbiter), and sub CPU 9. Main cpu33
.. DMA controller (DMAC) Controls the adjustment of bus ownership of 13, and also controls sub CPU 9 and main CPU 3.
Performs the interrupt huntshake in step 3. 15 is an image compression/expansion device that compresses/expands image data. Reference numeral 16 denotes a bus width adjustment device that adjusts the compression code of the image compression/decompression device 15 to the bus width of the bus 44 and outputs data. A device 17 performs XY conversion on the image data. A device 18 processes thinning and interpolation of image data. Buffers 19 to 21 drive the bus.
22はFROMで、電源ON時のブートプログラムや割
込みベクタを格納する。23は立上げ時に使用するスタ
ティックRAM、24はデバイスで、時間を管理したり
システムの管理情報を電源OFF時も記憶している。2
5はカウンタで、プロセスの切換えや時間測定を行う。22 is FROM, which stores a boot program and interrupt vectors when the power is turned on. 23 is a static RAM used at startup, and 24 is a device that manages time and stores system management information even when the power is turned off. 2
5 is a counter for switching processes and measuring time.
26は割込みコントローラで、割込みが発生したときに
ベクタを出力する。27はインタフェースで、シリアル
通信をサポートする。28は公衆回線に接続されるモデ
ム、29はインタフェースで、キーボード30からのキ
ー人力をインタフェースする。31はダイナミックRA
M (DRAM)で、システム側のプログラムデータを
格納する。32はメモリコントローラ(DMAコントロ
ーラ)で、DRAM31のリフレッシュおよびメモリと
の各デバイスとDMAをコントロールする。33はメイ
ンCpu、 34はデバイスで、アドレスデコード、割
込みコントロール、各制御線のコントロールを行う。3
5は各種書体のフォントや仮名漢字変換の辞書等を内蔵
したボート、36はインタフェースて、IEEE802
.3の108ASE5 (いわゆるETHRNET)を
サポートする。37はこの発明に係るバス幅調整手段を
構成するデバイスで、8ビツト入出力のSC3Iコント
ローラ(SC3Iコントローラ)3B(ダイレクトメモ
リアクセスデバイスを構成する)と32ビツトデ一タ幅
のデータバス45とのインタフェースを行う。26 is an interrupt controller that outputs a vector when an interrupt occurs. 27 is an interface that supports serial communication. 28 is a modem connected to a public line, and 29 is an interface for inputting keys from a keyboard 30. 31 is dynamic RA
M (DRAM) stores program data on the system side. A memory controller (DMA controller) 32 controls refresh of the DRAM 31 and DMA with each device with the memory. 33 is a main CPU, and 34 is a device which performs address decoding, interrupt control, and control of each control line. 3
5 is a boat with built-in fonts of various typefaces and kana-kanji conversion dictionaries, etc., and 36 is an interface, IEEE802
.. 3 108ASE5 (so-called ETHRNET) is supported. 37 is a device constituting the bus width adjustment means according to the present invention, and is an interface between an 8-bit input/output SC3I controller (SC3I controller) 3B (constituting a direct memory access device) and a data bus 45 having a 32-bit data width. I do.
39は5CSII/F付きのハードディスク、40はバ
ス幅調整デバイス、41インタフエースデバイスで、フ
ロッピーディスクコントローラとハス45とのインタフ
ェースを行う。42は3゜5インチのフロッピーディス
クドライブ、43は16ビツトのデータ幅を有するバス
、44.45は32ビツトのデータ幅を有するバス、4
6は16ビツトのデータ幅を有するハス、47は前記サ
ブCPU9のみからアクセスできる16ビツトのデータ
幅を有するバスであり、このアドレス線の最上位ビット
の極性をサブCPU9から出るアドレス線の極性に対し
て反転させることができるように構成されている。この
ように構成された情報処理装置において、バスサイクル
制御手段を構成するアービタ14は後述するようにリー
ドモディファイドライトモート中または出力ハス(例え
ばイメージバス43)からの応答が存在し、かつ人力バ
スて読出しと書込みのモード切換え時に出力のバスサイ
クルを一時中断しながらバスサイクルを再開し、資源と
なるメモリコントローラ(この実施例ではDMAC13
)は通常のバスサイクルて各デバイスとのデータ処理を
可能とする。39 is a hard disk with 5CSII/F, 40 is a bus width adjustment device, and 41 is an interface device, which interfaces between the floppy disk controller and the bus 45. 42 is a 3.5-inch floppy disk drive, 43 is a bus with a data width of 16 bits, 44.45 is a bus with a data width of 32 bits, 4
6 is a bus having a data width of 16 bits, and 47 is a bus having a data width of 16 bits that can be accessed only from the sub CPU 9. The polarity of the most significant bit of this address line is set to the polarity of the address line coming out from the sub CPU 9. It is configured so that it can be reversed. In the information processing device configured in this manner, the arbiter 14 constituting the bus cycle control means is configured to operate in read modified write mode or when a response from the output bus (for example, the image bus 43) is present, as will be described later. When switching between read and write modes, the output bus cycle is temporarily interrupted and the bus cycle is restarted, and the memory controller (DMAC13 in this embodiment), which serves as a resource,
) allows data processing with each device using normal bus cycles.
第2図は、第1図に示したサブCPU9のアドレス線の
最上位ビットの極性反転IA理の一例を示す回路ブロッ
ク図であり、102はSRフリップフロップで、人力さ
れる最上位ビット反転信号に基づいて排他的論理和ゲー
ト(EX−OR回路)101にQ出力を送出する。FIG. 2 is a circuit block diagram showing an example of the IA process for polarity inversion of the most significant bit of the address line of the sub CPU 9 shown in FIG. Based on this, a Q output is sent to an exclusive OR gate (EX-OR circuit) 101.
第3図(、)〜(h)は、第1図に示したアービタ14
の構成を説明する詳細ブロック図であり、同図中の同一
符号は同一部分を示し、■〜■はその接続先を示す。3(,) to (h) show the arbiter 14 shown in FIG.
FIG. 1 is a detailed block diagram illustrating the configuration of FIG.
これらの図において、201〜205はEX−OR回路
、206はインバータ、207〜211はEX−OR回
路、212はインバータ、213.214はNAND回
路、215はインバータ、216はAND回路、217
はNAND回路、218はAND回路、219はNAN
D回路、220はAND回路、221〜223はリセッ
ト端子付@JKフィリップフロップ(JKFF)、22
4はNOR回路、225はインペラ、226.227は
NOR回路、228はインバータ、229〜232はN
OR回路、233はOR回路、234,235はDフリ
ップフロップ(DFF)、236,237はインバータ
、23BはNOR回路、239はDFF、240はJK
FF、241はインバータ、242はNAND回路、2
43はAND回路、244はインバータ、245〜24
7はDFF、248はNAND回路、249はAND回
路、250はJKFF、251.252はDFF、25
3はAND回路、254はインバータ、255〜257
はDFF、258はNAND回路、259はAND回路
、260はJKFF、261.262はDFF、263
.264はDFF、265〜267はNAND回路、2
68はインバータ、269.270はNAND回路、2
71はインバータ、272273はNAND回路、27
4はインバータ、275.276はDFF、277〜2
79はNAND回路、280はインバータ、281.2
82はAND回路、283はNOR回路、284は3ス
テートバッファ、285はインバータ、286はNOR
回路、286はNOR回路、287はインバータ、28
8はNOR回路、289はインバタ、290.291は
NOR回路、292は3ステートバツフア、293はイ
ンバータ、294はNOR回路、295はインバータ、
296はNOR回路、297はインバータ、298はN
OR回路、299はインバータ、300はNOR回路、
301はインバータ、302はNOR回路、303はN
OR回路、304は3ステートバツフア、305.30
6はインバータ、307〜310はNOR回路、311
はAND回路、312゜313はNOR回路、314は
3ステートバツフア、315〜326はOR回路、32
7はAND回路、328は5RFF、329はNAND
AND回路0はOR回路、331はNANDAND回路
2はOR回路、333.334はNANDAND回路5
,336はAND回路、337.338は5RFFであ
る。In these figures, 201 to 205 are EX-OR circuits, 206 is an inverter, 207 to 211 are EX-OR circuits, 212 is an inverter, 213.214 is a NAND circuit, 215 is an inverter, 216 is an AND circuit, and 217
is a NAND circuit, 218 is an AND circuit, 219 is a NAN
D circuit, 220 is an AND circuit, 221 to 223 are reset terminal @JK Philip flop (JKFF), 22
4 is a NOR circuit, 225 is an impeller, 226.227 is a NOR circuit, 228 is an inverter, 229 to 232 are N
OR circuit, 233 is OR circuit, 234, 235 are D flip-flops (DFF), 236, 237 are inverters, 23B is NOR circuit, 239 is DFF, 240 is JK
FF, 241 is an inverter, 242 is a NAND circuit, 2
43 is an AND circuit, 244 is an inverter, 245 to 24
7 is DFF, 248 is NAND circuit, 249 is AND circuit, 250 is JKFF, 251.252 is DFF, 25
3 is an AND circuit, 254 is an inverter, 255 to 257
is DFF, 258 is NAND circuit, 259 is AND circuit, 260 is JKFF, 261.262 is DFF, 263
.. 264 is a DFF, 265 to 267 are NAND circuits, 2
68 is an inverter, 269.270 is a NAND circuit, 2
71 is an inverter, 272273 is a NAND circuit, 27
4 is inverter, 275.276 is DFF, 277~2
79 is a NAND circuit, 280 is an inverter, 281.2
82 is an AND circuit, 283 is a NOR circuit, 284 is a 3-state buffer, 285 is an inverter, 286 is a NOR circuit
circuit, 286 is a NOR circuit, 287 is an inverter, 28
8 is a NOR circuit, 289 is an inverter, 290.291 is a NOR circuit, 292 is a 3-state buffer, 293 is an inverter, 294 is a NOR circuit, 295 is an inverter,
296 is a NOR circuit, 297 is an inverter, and 298 is an NOR circuit.
OR circuit, 299 is an inverter, 300 is a NOR circuit,
301 is an inverter, 302 is a NOR circuit, 303 is an N
OR circuit, 304 is 3-state buffer, 305.30
6 is an inverter, 307 to 310 are NOR circuits, 311
is an AND circuit, 312 and 313 are NOR circuits, 314 is a 3-state buffer, 315 to 326 are OR circuits, 32
7 is AND circuit, 328 is 5RFF, 329 is NAND
AND circuit 0 is an OR circuit, 331 is a NAND AND circuit 2 is an OR circuit, 333.334 is a NAND AND circuit 5
, 336 are AND circuits, and 337, 338 are 5RFFs.
第4図は、第1図に示したアービタ14の周辺回路構成
を説明するブロック図であり、350は3ステートバツ
フア、351は3ステートパストランシーバ、352は
3ステートバツフア、353は3ステートパストランシ
ーバである。FIG. 4 is a block diagram illustrating the peripheral circuit configuration of the arbiter 14 shown in FIG. It is a path transceiver.
次に、第5図、第6図を参照しながら第1図にボしたサ
ブCPU9等の立ち上げ処理動作について説明する。Next, the start-up processing operation of the sub CPU 9 etc. shown in FIG. 1 will be explained with reference to FIGS. 5 and 6.
第5図、第6図は、第1図に示したサブCPU9の立ち
上げ処理手順の一例を説明するフローチャートである。FIGS. 5 and 6 are flowcharts illustrating an example of the procedure for starting up the sub CPU 9 shown in FIG. 1.
なお、(1)〜(9) 、 (11)〜(25)は各
ステップを示す。Note that (1) to (9) and (11) to (25) indicate each step.
電源が投入されると、先ずメインcpu33が立ち上が
り、FROM22からリセット時のスタックポインタと
プログラムカウンタの値を人力し、立ち上げ処理を行う
。When the power is turned on, the main CPU 33 first boots up, inputs the values of the stack pointer and program counter at the time of reset from the FROM 22, and performs startup processing.
この際、サブCPU9が行うことは、ボンディングデハ
イス6からの信号を基にデュアルポートRAM11にカ
ーソルを表示すること、SCS Iコントローラ3を制
御してスキャナ1.プリンタ2と画像信号の転送を行う
こと、アービタ14を介してメインCPU33と割込み
ハンドシェークを行うこと等であるが、先ずステップ(
1)において、プログラムが全部台まれたサイズを調べ
、転送ワード数を設定する。次いで、デュアルポートメ
モリ12のメインCPU33からみたときの転送開始ア
ドレスをセットする(2)。At this time, the sub CPU 9 displays a cursor on the dual port RAM 11 based on the signal from the bonding device 6, controls the SCSI controller 3, and controls the scanner 1. The steps include transferring image signals to the printer 2 and performing an interrupt handshake with the main CPU 33 via the arbiter 14.
In step 1), check the size of the entire program and set the number of words to be transferred. Next, the transfer start address when viewed from the main CPU 33 of the dual port memory 12 is set (2).
次いで、FROM22またはDRAM3Tからプログラ
ム等を含むデータをデュアルポートメモリ12に転送す
る(3)。続いて、データの値をあるレジスタまたはメ
モリに加算するデータサムを行い(4)、転送が終了し
たかどうかを、すなわち転送数が残り「O」かどうかを
判断しく5)、NOならばステップ(3)に戻り、YE
Sならば加算されたデータの値(チエツクサム)を転送
する(6)。Next, data including programs and the like is transferred from the FROM 22 or the DRAM 3T to the dual port memory 12 (3). Next, a data sum is performed to add the data value to a certain register or memory (4), and it is determined whether the transfer is completed, that is, whether the number of transfers remains is "O" (5), and if NO, step Return to (3) and YE
If S, the added data value (checksum) is transferred (6).
次いで、アービタ14にJSTART信号を与え、今ま
でリセット信号がかかっていたサブCPU9がスタート
する(7)。Next, the JSTART signal is given to the arbiter 14, and the sub CPU 9 to which the reset signal has been applied until now starts (7).
次いで、サブCPU9は、デュアルポートメモリ12か
らスタックポインタとプログラムカウンタを人力し、以
下、第6図に示すフローに従っ3
て、デュアルポートメモリ12にロードされているプロ
グラムをスタティックRAM (SRAM>8にロード
し、サブCPU9の割込みベクタがスタティックRAM
8に切り換わるようにアドレスの最上位ビットを反転す
る。Next, the sub CPU 9 manually reads the stack pointer and program counter from the dual port memory 12, and then transfers the program loaded in the dual port memory 12 to the static RAM (SRAM>8) according to the flow shown in FIG. The interrupt vector of sub CPU 9 is loaded into static RAM.
Invert the most significant bit of the address so that it switches to 8.
次いて、ACK割込みが発生するのを待機しく8)、割
込みがかかったら、18Mレジスタに割込み応答コマン
ドJ I QACKを書き込み(9)、処理を終了し、
サブCPU9による処理に移る。Next, wait for an ACK interrupt to occur (8), and when the interrupt occurs, write the interrupt response command J I QACK to the 18M register (9), and end the process.
The process moves on to processing by the sub CPU 9.
プログラムが全部台まれたサイズを調べ、転送ワード数
を設定する(11)。次いで、デュアルホトメモリ12
のメインCPU33からみたときの転送開始アドレスを
セットする(12)。The size of the entire program is checked and the number of words to be transferred is set (11). Next, the dual photo memory 12
The transfer start address as seen from the main CPU 33 is set (12).
次いで、FROM22またはDRAM31からプログラ
ム等を含むデータをデュアルポートメモリ12に転送す
る(13)。続いて、データの値をあるレジスタまたは
メモリに加算するデータサムを行い(14)、転送が終
了したかどうかを、すなわち転送数が残り「0」かどう
かを判断しく15)、NOならばステップ(13)に戻
り、YESならばチェックサムかOKかどうかを判断し
く16)、NOならばステップ(23)以降に進み、Y
ESならば反転レジスタにデータ書き込みを行い(↓7
)、SRAM8のチエツクサムがOKかどうかを判断し
く18)、NOならばステップ(23)以降に進み、Y
ESならばVRAMバッファに正常ステータスを書き込
み(19)、18Mレジスタに割込みコマンドKIQA
CKを書き込み(20)。ACK割込みが発生するのを
待機しく21)、割込みが発生したら、18Mレジスタ
に割込みクリアコマンドKIQCLRを書き込み(22
)、処理を終了する。Next, data including programs and the like is transferred from the FROM 22 or DRAM 31 to the dual port memory 12 (13). Next, a data sum is performed to add the data value to a certain register or memory (14), and it is determined whether the transfer is completed, that is, whether the number of transfers remains is "0" (15). If NO, step Return to step (13), if YES, determine whether the checksum is OK or not (16), if NO, proceed to step (23) and onwards.
If ES, data is written to the inversion register (↓7
), determine whether the checksum of SRAM8 is OK (18), if NO, proceed to step (23) and onwards, and Y
If it is ES, write the normal status to the VRAM buffer (19) and send the interrupt command KIQA to the 18M register.
Write CK (20). Wait for the ACK interrupt to occur (21), and when the interrupt occurs, write the interrupt clear command KIQCLR to the 18M register (22)
), the process ends.
方、ステップ(16)、 (18)でNOの場合は、V
RAMバッファにエラーステータスを書き込み(23)
、18Mレジスタに割込みコマンドKIQACKを書き
込み(24)。ACK割込みが発生するのを待機しく2
5)、割込みが発生したら、18Mレジスタに割込みク
リアコマンドKIQCLRを書き込み(25)、処理を
終了する。On the other hand, if NO in steps (16) and (18), V
Write error status to RAM buffer (23)
, writes the interrupt command KIQACK to the 18M register (24). Wait for ACK interrupt to occur2
5) When an interrupt occurs, write an interrupt clear command KIQCLR to the 18M register (25) and end the process.
具体的には第2図に示したEX−OR回路101の一方
にアドレスの最上位ビット、もう一方にフリップフロッ
プ102の出力を入力しておき、フリップフロップ+0
2の出力を反転させることにより、アドレスの最上位ビ
ットの極性を切り換える。次いて、プログラムの転送が
終了したことをデュアルポートメモリ12に設けたメイ
ンCP[J33とのコミュニケーションバッファに書き
、アービタ14にKIACK信号を与え、メインCPU
33に割込み信号をかけることで行う。メインcpU3
3はアービタ14からの割込み信号を受(プてJ I
ACKをアービタ14に送りサブCPU9に割込みをか
ける。サブCPU9はアービタ14に割込みクリア信号
としてK I Q CL R信号を送出し、サブcpu
9の初期動作は終了する。Specifically, the most significant bit of the address is input to one side of the EX-OR circuit 101 shown in FIG. 2, and the output of the flip-flop 102 is input to the other side.
By inverting the output of 2, the polarity of the most significant bit of the address is switched. Next, the notification that the program transfer has been completed is written to the communication buffer with the main CPU [J33 provided in the dual port memory 12, a KIACK signal is given to the arbiter 14, and the main CPU
This is done by applying an interrupt signal to 33. Main cpu3
3 receives an interrupt signal from the arbiter 14 (PUTJ I
The ACK is sent to the arbiter 14 to interrupt the sub CPU 9. The sub CPU 9 sends a K I Q CL R signal to the arbiter 14 as an interrupt clear signal, and the sub CPU
The initial operation of step 9 ends.
次いて、デュアルポートメモリ12にビットマツプデー
タを転送すればインタフェース5を通してCRTデイス
プレィ4にビットマツプイメージを表示することがてき
る。Next, by transferring the bitmap data to the dual port memory 12, the bitmap image can be displayed on the CRT display 4 through the interface 5.
次に、O3(オペレーティングシステム)やアプリケー
ションプログラム(AP)をハードディスク39からダ
イナミックRAM31に転送するが、このシステムでは
DMAコントローラ32とバス幅調整デバイス37は通
常はメインCPU33とSCS Iコントローラ38の
間で8ビット幅のデータ転送を行っているが、DMA転
送命令が発行され、リクエスト要求かSC3Iコントワ
ラ38から出力され、バス幅調整用のデバイス37に人
力されると、バス幅調整デバイス37はDMA転送モー
トになり、ダイナ主ツクRAM31のデータをハードデ
ィスク39に書き込む場合は、ハス幅調整デバイス37
がDMAリクエストをDMAコントローラ32に出力す
る。Next, the O3 (operating system) and application program (AP) are transferred from the hard disk 39 to the dynamic RAM 31, but in this system, the DMA controller 32 and bus width adjustment device 37 are normally located between the main CPU 33 and the SCS I controller 38. 8-bit width data transfer is being performed, but when a DMA transfer command is issued and a request is output from the SC3I controller 38 and manually input to the bus width adjustment device 37, the bus width adjustment device 37 performs the DMA transfer. When becoming a remote mode and writing data from the dyna main drive RAM 31 to the hard disk 39, the width adjustment device 37
outputs a DMA request to the DMA controller 32.
DMAコントローラ32は、メインCPO33に対しバ
ス権を要求し、メインCPU33かバスを解放すると、
DMAコントローラ32はバス権を握り、バス幅調整デ
バイス37に32ビット幅のデータを書き込む。バス幅
調整デバイス37はDMAリクエストを取り下げ、それ
によりDMAコントローラ32もバスを解放し、メイン
CPU33が再びバス件を握る。The DMA controller 32 requests bus ownership from the main CPU 33, and when the main CPU 33 releases the bus,
The DMA controller 32 takes control of the bus and writes 32-bit width data to the bus width adjustment device 37. The bus width adjustment device 37 cancels the DMA request, thereby also releasing the DMA controller 32 and the main CPU 33 taking control of the bus again.
方、バス幅調整デバイス37はSCS Iコン b
トローラ38に対し、32ビット幅のデータを8ビット
幅のデータに分解し、リクエスト要求が出力されている
ときにデータを書き込む。4回の書き込みを終了すると
、バス幅調整デバイス37内にはデータがなくなるので
、再びバス幅調整デバイス37はDMAリクエストをD
MAコントローラ32に出力し上記の動作を繰り返す。On the other hand, the bus width adjustment device 37 decomposes 32-bit width data into 8-bit width data and writes the data to the SCSI controller 38 when a request is output. When the four writes are completed, there is no more data in the bus width adjustment device 37, so the bus width adjustment device 37 again sends the DMA request to the D.
The signal is output to the MA controller 32 and the above operation is repeated.
5CSIコントローラ38は、scs rの規格にそっ
てハトディスク39にデータを転送する。一連の作業は
、一定のブロック長のデータを転送終了するまで行われ
る。バス幅調整デバイス37は、DMシコンローラ32
からDMA転送終了信号DONEかまたは5CSIコン
トローラ38から転送終了信号が発生すると自動的にD
MA転送モードを終了し、通常モードになって5C5I
コントロラ38とメインcpu33の通信を行うことか
できるようになる。また、ハードディスク39のブタを
ダイナミックRAM3 +に書き込む場合は、バス幅調
整デバイス37にSCS Iコントワラ38のデータを
4回書き込んでからバス幅調整デバイス37がDMAリ
クエストをDMAコントローラ32に出力することとデ
ータの転送方向か反対になっていることが異なるだけで
、その他の動作はディスクに書き込む動作と同様となる
。The 5CSI controller 38 transfers data to the pigeon disk 39 in accordance with the SCSR standard. A series of operations are performed until data of a fixed block length is transferred. The bus width adjustment device 37 is the DM silicon roller 32
When the DMA transfer end signal DONE is generated from 5CSI controller 38 or the transfer end signal is generated from 5CSI controller 38, DONE is automatically activated.
Exit MA transfer mode, enter normal mode and transfer to 5C5I
It becomes possible to communicate between the controller 38 and the main CPU 33. Furthermore, when writing data from the hard disk 39 to the dynamic RAM 3+, data from the SCSI controller 38 is written to the bus width adjustment device 37 four times before the bus width adjustment device 37 outputs a DMA request to the DMA controller 32. The only difference is that the direction of data transfer is reversed, and the other operations are the same as those for writing to a disk.
このように、バス幅調整デバイス37を設けることによ
り、DMA転送中のデバイスがあってもメインcpu3
3は、DMAコントローラ32に常にハスを握られるこ
となく、転送の合間にバス権を握ってプログラムを実行
することがてきる。In this way, by providing the bus width adjustment device 37, even if there is a device in progress of DMA transfer, the main CPU 3
3 can execute programs by taking control of the bus between transfers without being constantly held by the DMA controller 32.
ところが、DMAl10デバイス、この実施例ではSC
3Iコントローラ38は、読み出し信号と書き込み信号
をCPUとバス幅調整デバイス37の2つからの単純な
OR演算処理では不具合が発生する。バス幅調整デバイ
ス37から出力される読み出し信号と書き込み信号はD
MA中にしか発生しないが、CPUから出力される読出
し信号と書込み信号は、DMA中においても、CPUが
バス権を握っているときには、他のIloのために出力
される。当然、これはバス幅調整デバイス37から発生
する読み出し信号、書込み信号とはタイミングが異なる
ため、SC3Iコントワラ38が誤動作する可能性があ
る。これを防ぐには、DMA中を示す信号を設け、バス
幅調整デバイス37とCPUとの信号を切り換える方式
と、CPUからSC3Iコントローラ38に対してアク
セスがある(チップセレクト中)ときたけCPUからの
読出し/書込み信号を入れる方式かあるが、タイミング
を満足させるには、後者の方式か最適となる。However, the DMA10 device, in this example, the SC
In the 3I controller 38, a problem occurs when the read signal and the write signal are processed by a simple OR operation from the CPU and the bus width adjustment device 37. The read signal and write signal output from the bus width adjustment device 37 are D
Although only generated during MA, read signals and write signals output from the CPU are output for other Ilo's even during DMA when the CPU holds the bus right. Naturally, this has a different timing from the read signal and write signal generated from the bus width adjustment device 37, so there is a possibility that the SC3I controller 38 will malfunction. To prevent this, there is a method of providing a signal indicating that DMA is in progress and switching the signal between the bus width adjustment device 37 and the CPU, and a method of switching the signal between the bus width adjustment device 37 and the CPU. There is a method of inputting read/write signals, but the latter method is optimal in order to satisfy the timing.
第7図はバス幅調整デバイスとDMAl10デバイスと
の接続関係を説明するブロック図であり、401はバス
幅調整デバイス、402はDMAl10デバイス、40
3.404は○Rゲト、405.406はANDケート
である。FIG. 7 is a block diagram illustrating the connection relationship between the bus width adjustment device and the DMA110 device, where 401 is the bus width adjustment device, 402 is the DMA110 device, and 40
3.404 is ○R get, and 405.406 is AND gate.
DMA I10デバイス402とバス幅調整デバイス4
01のDMA転送は、REQ信号、ACK信号で行われ
る。通常CPUアクセスはチップセレクト信号、読出し
信号、書込み信号かDMAT/○デバイス402.バス
幅調整デバイス401双方に人力されており、DMAl
10デバイス 9
402への読出し、書込みは8ビツトでアクセスされる
。DMAコマンドが発行されてDMAl10デバイス4
02からREQ信号が出力されると、バス幅調整デバイ
ス401はDMA転送モトとなり、システムバスとは3
2ビツトてデータを転送する。バス幅調整デバイス40
1は、REQ信号を受けると、ACK信号を返すが同時
に転送方向によりDMARD信号またはDMAWR信号
をLOWレベルにしてANDゲート405406を介し
てDMAl10デバイス402にRDB信号、WRB信
号を送る。CPUはDMACによりシステムバスを占有
されていなければ各I10のために読出し信号、書込み
信号を出すこともあり、読出し信号、書込み信号を単純
にANDゲート405.401でOR1,、てDMAl
10デバイス402のRDB信号、WRB信号に人力す
ると、DMA転送が正常に行われない場合がある。その
ため、チップセレクト信号と読出し信号、書込み信号を
ORゲート403.404でANDしてからANDゲー
ト405.406でORすると誤動作することはない。DMA I10 device 402 and bus width adjustment device 4
The DMA transfer of 01 is performed using the REQ signal and the ACK signal. Normally, CPU access is done by chip select signal, read signal, write signal or DMAT/○ device 402. Both bus width adjustment devices 401 are manually operated, and DMA and Al
Reading and writing to 10 devices 9 402 are accessed using 8 bits. DMA command is issued and DMA10 device 4
When the REQ signal is output from 02, the bus width adjustment device 401 becomes a DMA transfer mode, and the system bus is
Data is transferred using 2 bits. Bus width adjustment device 40
1 returns an ACK signal upon receiving the REQ signal, but at the same time, it changes the DMARD signal or DMAWR signal to LOW level depending on the transfer direction and sends the RDB signal and WRB signal to the DMA110 device 402 via the AND gate 405406. If the system bus is not occupied by the DMAC, the CPU may issue read signals and write signals for each I10, and the read signals and write signals are simply OR1 with AND gates 405 and 401, DMAAl
If the RDB signal and WRB signal of the 10 device 402 are manually input, the DMA transfer may not be performed normally. Therefore, if the chip select signal, read signal, and write signal are ANDed by OR gates 403 and 404 and then ORed by AND gates 405 and 406, no malfunction will occur.
もちろん、これらの各ゲートをバス幅調整デバイス37
に内蔵することもできる。Of course, each of these gates is connected to the bus width adjustment device 37.
It can also be built into.
また、バス幅調整デバイス40.フロッピーディスクコ
ントローラ4i、3.5インチフロ・ンビディスクドラ
イブの組の動作も略同様である。Also, the bus width adjustment device 40. The operations of the floppy disk controller 4i and the 3.5-inch floppy disk drive are substantially the same.
メモリコントローラ32のDMAチャンネルは3組あり
、ハードディスクとフロッピーディスクの並列転送も可
能である。また、メインCPU33とサブcpU9は同
時にデュアルポートメモリ1112にアクセス制御する
アービタ14の動作について第3図(a)を参照しなが
ら説明する。The memory controller 32 has three sets of DMA channels, and parallel transfer between a hard disk and a floppy disk is also possible. Further, the operation of the arbiter 14, which controls the access of the main CPU 33 and the sub CPU 9 to the dual port memory 1112 at the same time, will be explained with reference to FIG. 3(a).
EX−OR回路201〜205はサブCPU9からみた
ときのデュアルポートメモリ11.12のアドレス選択
に、また、EX−OR回路207〜211はメインCP
U33からみたときのデュアルポートメモリ11.12
のアドレス選択に使用される。必要のないゲートは出力
がHIGHとなるように接続されている。EX-OR circuits 201 to 205 are used for address selection of the dual port memory 11.12 when viewed from the sub CPU 9, and EX-OR circuits 207 to 211 are used for main CPU
Dual port memory 11.12 when viewed from U33
used for address selection. Unnecessary gates are connected so that the output is HIGH.
EX−OR回路201〜205のボートKLVL1〜5
およびEX−OR回路207〜211のボートJLVL
I〜5には選択されるべきアドレスの極性の逆極性のレ
ベルを人力し、ボートKAA1〜5およびJAAI〜5
には選択されるべきアドレスを決定するビットが接続さ
れている。これにより、サブCPU9からデュアルポー
トメモリ11.12のアドレスが出力されると、EXO
R回路201〜205の出力かすへてHIGHになり、
また、アドレスストローブ信号KASBがLOWとなる
ので、インバータ206の出力がHIGHとなり、NA
ND回路213の出力かLOWになる。その結果、NO
R回路217の出力がHIGHになり、CLK信号の立
ち上がりでJKFF222の、Q出力がHIGH1反転
Q出反転LOWになる。NOR回路217はまたメモリ
コントローラ13を選択する信号KLC3BがLOWに
なってもHIGH出力になる。Boats KLVL1 to 5 of EX-OR circuits 201 to 205
and boat JLVL of EX-OR circuits 207 to 211
For I~5, manually set the level of polarity opposite to the polarity of the address to be selected, and for boats KAA1~5 and JAAI~5.
A bit is connected to determine the address to be selected. As a result, when the sub CPU 9 outputs the address of the dual port memory 11.12, the EXO
The outputs of R circuits 201 to 205 become HIGH,
Also, since the address strobe signal KASB becomes LOW, the output of the inverter 206 becomes HIGH, and the NA
The output of the ND circuit 213 becomes LOW. As a result, NO
The output of the R circuit 217 becomes HIGH, and at the rising edge of the CLK signal, the Q output of the JKFF 222 becomes HIGH1 inverted Q output inverted LOW. The NOR circuit 217 also outputs HIGH even when the signal KLC3B for selecting the memory controller 13 becomes LOW.
同様に、メインCPU33からデュアルポートメモリ1
1.12のアドレスが出力されると、EX−OR回路2
07〜211の出力が全てHIGHになり、また、アド
レスストローブ信号JASBがLOWとなるので、イン
バータ212の出力がHIGHになり、NAND回路2
19の出力がLOWになる。その結果、NAND回路2
19の出力がHIGHになり、CLK信号の立ち上がり
てJKFF223のQ出力がHIGH1反転Q出反転L
OWなる。NAND回路219はまたメモリコントロー
ラ13を選択する信号JLCSBがLOWになってもH
IGH出力になる。また、メモリコントローラ13がD
MA転送を行うためにLBRB信号をLOWにした場合
は、インバータ215かHIGHになり、CLK信号の
立ち上がりてJKFF221のQ出力がHIGH1反転
Q出反転LOWになる。このように、JKFF221〜
223の反転Q出力S3.S6.S11か同時にLOW
になった場合には、NOR回路227.232の出力S
8と出力■がHIGHになり、その結果NOR回路22
4の出力@がLOW、NOR回路229の出力■がLO
Wとなる。Similarly, from the main CPU 33 to the dual port memory 1
When address 1.12 is output, EX-OR circuit 2
All the outputs of 07 to 211 become HIGH, and the address strobe signal JASB becomes LOW, so the output of inverter 212 becomes HIGH, and the NAND circuit 2
The output of No. 19 becomes LOW. As a result, NAND circuit 2
The output of 19 becomes HIGH, the CLK signal rises, and the Q output of JKFF223 becomes HIGH1 inverted Q output inverted L
OW becomes. The NAND circuit 219 also remains high even if the signal JLCSB for selecting the memory controller 13 goes low.
It becomes IGH output. Also, the memory controller 13
When the LBRB signal is set to LOW to perform MA transfer, the inverter 215 becomes HIGH, and when the CLK signal rises, the Q output of the JKFF 221 becomes HIGH1 inverted Q output inverted LOW. In this way, JKFF221~
223 inverted Q output S3. S6. S11 or LOW at the same time
, the output S of the NOR circuit 227.232
8 and the output ■ become HIGH, and as a result, the NOR circuit 22
4 output @ is LOW, NOR circuit 229 output ■ is LOW
It becomes W.
つまり、出力■だけHIGHとなり、出力■、出力■が
LOWとなる。That is, only the output ■ becomes HIGH, and the outputs ■ and output ■ become LOW.
同様に、出力33.S6がLOW、出力SllがHIG
Hの場合は、出力■だけHIGHとなり、出力■、出力
■がLOWとなる。Similarly, output 33. S6 is LOW, output Sll is HIG
In the case of H, only output ■ becomes HIGH, and outputs ■ and output ■ become LOW.
同様に、出力S3.SllがLOW、出力s6がHIG
Hの場合は、出力■だけHIGHとなり、出力■、出力
■がLOWとなる。Similarly, output S3. Sll is LOW, output s6 is HIG
In the case of H, only output ■ becomes HIGH, and outputs ■ and output ■ become LOW.
同様に、出力S6.SllがLOW、出力s3がHIG
Hの場合は、出力■だけHIGHとなり、出力■、出力
■がLOWとなる。また、出力S3が単独でLOWのと
きは、出力s6が単独でLOWの時、出力■だけLOW
となり、出力s11が単独でLOWのとき、出力■だけ
LOWとなる。つまり、アービタ14は、優先順位が固
定されており、出力Sll>S6>S3のように規定さ
れている。このように、出力■、■、■のいずれかの出
力がHIGHになると、OR回路233の出力S14も
HIGHとなり、CLK信号の立ち下がりでインバータ
236によりDFF234が出力S14をラッチしQ出
力となる出力S15がHIGHになる。反転Q出力はL
OWとなり、これがDFF235の反転S人力に接続さ
れているため、DFF235の反転Q出力となるS16
は直ちにLOWとなる。これにより、NOR回路226
の出力S7は出力■と同じレベルになり、もし出力■か
HIGHになっている時は、出力S7もHI GHテ、
出力S6がLOWになってもNOR回路227の出力S
8がHIGHにならないようになる。すなわち、出力■
がHI G HになってDFF235の反転Q出力s1
6がLOWになると、出力S6がLOWになってもNO
R回路224により出力■をLOWにすることがない。Similarly, output S6. Sll is LOW, output s3 is HIG
In the case of H, only output ■ becomes HIGH, and outputs ■ and output ■ become LOW. Also, when output S3 is LOW alone, when output s6 is LOW alone, only output ■ is LOW.
Therefore, when the output s11 is LOW alone, only the output ① becomes LOW. In other words, the priority order of the arbiter 14 is fixed, and the output is defined as Sll>S6>S3. In this way, when any of the outputs ■, ■, ■ becomes HIGH, the output S14 of the OR circuit 233 also becomes HIGH, and at the falling edge of the CLK signal, the DFF 234 latches the output S14 by the inverter 236 and becomes a Q output. Output S15 becomes HIGH. Inverted Q output is L
OW, and since this is connected to the inverted S output of DFF235, S16 becomes the inverted Q output of DFF235.
becomes LOW immediately. As a result, the NOR circuit 226
The output S7 of will be at the same level as the output ■, and if the output ■ is HIGH, the output S7 will also be HIGH.
Even if the output S6 becomes LOW, the output S of the NOR circuit 227
8 will no longer go HIGH. In other words, the output ■
becomes HIGH and the inverted Q output s1 of DFF235
6 becomes LOW, NO even if the output S6 becomes LOW.
The R circuit 224 prevents the output (2) from becoming LOW.
これにより、安定したアクセスがてきる。同様に、NO
R回路231の出力S13はNOR回路230により、
出力■、実出力の何れかがHIGHの場合、HIGHと
なり、出力SllがLOWになってもNOR回路232
の出力■がHIGHにならないようになる。すなわち、
出力■、実出力がHIGHになってDFF235の反転
Q出力となる出力316がLOWになると、出力Sit
がL○WになってもNOR回路224.229により出
力■、出力■をLOWにすることがない。このように、
低い優先順位の実行サイクルが一旦開始されると、この
実行サイクルが終了するまでは高い優先順位の入力で中
断されることがない。JKFF223の反転Q出力とな
る出力SllがLOWて出力■がHIGHになり、DF
F235の反転Q出力となる出力S16がLOWになり
、実行サイクルが始まると、第3図(b)のインバータ
254によりLJB出力もLOWとなる。LJB出力に
は、メインCPU33のアドレスバッファ352のトラ
イステート入力とデータバッファ353のトライステー
ト人力に接続されており、これにより、バス43のバス
権はメインcpu33に握られる。メモリコントローラ
13はアドレスに従いデュアルポートメモリ11.12
をアクセスし、データアクノリッジ信号LDTKBをア
ビタ14に返す。アービタ14では第3図(e)に示し
たインバータ271.NAND回路269.270を通
してJDTAK信号として出力される。この信号はメイ
ンCPU33に返り、メインCPU33はJASB信号
をHIGHとしてサイクルは終了する。これにより、第
3図(a)のAND回路220の出力SIOがHIGH
になり、NOR回路238の出力S17かLOWとなり
、DFF234のQ出力S15がLOW、反転QがHI
GHとなる。ここで、CLK信号がLOWからHIGH
になると、JKFF223の反転Q出力となる出力S1
1がHIGHとなり、N。This provides stable access. Similarly, NO
The output S13 of the R circuit 231 is output by the NOR circuit 230.
If either the output ■ or the actual output is HIGH, it becomes HIGH, and even if the output Sll becomes LOW, the NOR circuit 232
The output ■ will not become HIGH. That is,
Output ■, when the actual output becomes HIGH and the output 316, which becomes the inverted Q output of DFF 235, becomes LOW, the output S
Even if the output becomes L○W, the NOR circuits 224 and 229 prevent the output ■ and the output ■ from becoming LOW. in this way,
Once a lower priority run cycle is started, it cannot be interrupted by higher priority inputs until the run cycle is finished. Output Sll, which is the inverted Q output of JKFF223, becomes LOW, output ■ becomes HIGH, and DF
When the output S16, which is the inverted Q output of F235, becomes LOW and an execution cycle begins, the LJB output also becomes LOW due to the inverter 254 in FIG. 3(b). The LJB output is connected to the tri-state input of the address buffer 352 and the tri-state input of the data buffer 353 of the main CPU 33, so that the bus mastership of the bus 43 is held by the main CPU 33. The memory controller 13 uses dual port memory 11.12 according to the address.
and returns a data acknowledge signal LDTKB to the Avita 14. In the arbiter 14, the inverter 271. shown in FIG. 3(e). It is output as a JDTAK signal through NAND circuits 269 and 270. This signal is returned to the main CPU 33, and the main CPU 33 sets the JASB signal to HIGH, thereby completing the cycle. As a result, the output SIO of the AND circuit 220 in FIG. 3(a) becomes HIGH.
, the output S17 of the NOR circuit 238 becomes LOW, the Q output S15 of the DFF 234 becomes LOW, and the inverted Q becomes HI.
It becomes GH. Here, the CLK signal changes from LOW to HIGH.
Then, the output S1 becomes the inverted Q output of JKFF223.
1 becomes HIGH and N.
R回路232の出力■がLOW、第3図(b)に示すA
ND回路259の出力LJASもLOWとなり、イメー
ジバスのバス権はメインcpu33から解放される。C
LK信号の立ち上がりではJKFF223と同時にDF
F235の反転Q出力となる出力316もHIGHとな
り、出力53S6.Sllの各信号の調整サイクルに入
る。ここで、出力S6のみまたは出力S3.S6がLO
Wならば前述のようにサブCPU9がバス権を握り、メ
モリコントローラ13のデータアクノリッジ信号LDT
KBにより同様にバスサイクルな終7
了させる。The output ■ of the R circuit 232 is LOW, and the A shown in FIG. 3(b)
The output LJAS of the ND circuit 259 also becomes LOW, and bus ownership of the image bus is released from the main CPU 33. C
DF at the same time as JKFF223 at the rise of the LK signal.
Output 316, which is the inverted Q output of F235, also becomes HIGH, and output 53S6. The adjustment cycle for each Sll signal begins. Here, output S6 only or output S3. S6 is LO
If W, the sub CPU 9 takes control of the bus as described above, and the data acknowledge signal LDT of the memory controller 13
KB also terminates the bus cycle.
方、アービタ14中には、第3図(b)のDFF251
,252.261,262があり、メインcpu33と
サブCPU9のアクセスが近接していた場合には、LA
SB信号、LDTKB信号が遅延時間等でメモリコント
ローラ13や各Cpu9.33に影響を与えないように
、DFF251.252.26L 262によりLJA
S信号、LKAS信号が近接しないように分離している
。出力■がLOWになりすぐ出力■がHIGHになって
もLKAS信号は、DFF261のQ出力がLOWにな
り、DFF262の反転Q出力がHIG、Hになり始め
てLKAS信号がHIGHになる。LJAS信号も同様
である。なお、第3図(d)〜(f)に示したL’A
S B信号、LUDSB信号、LLDSB信号、LRW
信号、LC3B信号の各信号と第3図(C)に示したJ
DTAK信号、KDTAK信号、JBER信号、KBE
R信号の各信号は全てLJAS信号、LKAS信号のい
ずれかがHIGHになっていなければ有効に 8
ならない。これにより、メインCPU33とサブCPU
9の単独のアクセスのときは高速に、また近接したアク
セスは安全に行うことができる。On the other hand, in the arbiter 14, there is a DFF 251 shown in FIG. 3(b).
, 252, 261, 262, and if the main CPU 33 and sub CPU 9 are accessed close to each other, the LA
In order to prevent the SB signal and LDTKB signal from affecting the memory controller 13 and each CPU 9.33 due to delay time, etc., the LJA signal is
The S signal and LKAS signal are separated so that they do not come close to each other. Even if the output ■ becomes LOW and immediately the output ■ becomes HIGH, the Q output of the DFF 261 becomes LOW, the inverted Q output of the DFF 262 starts to become HIG, and the LKAS signal becomes HIGH. The same applies to the LJAS signal. In addition, L'A shown in FIGS. 3(d) to (f)
SB signal, LUDSB signal, LLDSB signal, LRW
signal, LC3B signal and J shown in Fig. 3(C).
DTAK signal, KDTAK signal, JBER signal, KBE
Each of the R signals will not become valid unless either the LJAS signal or the LKAS signal is HIGH. As a result, the main CPU 33 and sub CPU
9, single accesses can be performed at high speed, and accesses in close proximity can be performed safely.
ところで、イメージバス上のDMAコントローラ13か
らのバス権要求信号LBRB信号によりJKFF221
の反転Q出力となる出力S3がLOWになって出力Oが
HIGHとなった場合、第3図(b)に示すようにJD
TAK信号、KDTAK侶号、JBER信号、KBER
信号の各信号は全てLJAS信号とLKAS信号のどち
らかがHIGHになっていなければ有効にならない。こ
れにより、メインcpu33とサブCPU9の単独のア
クセスは高速にまたは近接したアクセスは安全に行うこ
とができる。By the way, the JKFF221 is activated by the bus request signal LBRB from the DMA controller 13 on the image bus.
When the output S3, which is the inverted Q output, becomes LOW and the output O becomes HIGH, the JD
TAK signal, KDTAK signal, JBER signal, KBER
All of the signals become valid unless either the LJAS signal or the LKAS signal is HIGH. Thereby, individual access between the main CPU 33 and sub CPU 9 can be performed at high speed, or close access can be performed safely.
ところで、イメージバス上のDMAコントロラ13から
のバス権要求となるLBRB信号によりJKFF221
の反転Q出力となる出力S3がLOWになって出力■が
HIGHとなった場合、第3図(b)に示すように、D
FF239の反転Q出力がCLK信号の立ち上がりでH
IGHとなリ、NAND回路242の出力となるLBG
B信号かLOwになる。これは、DMAコントローラ1
3にバス権がわたったことを示し、DMAコントローラ
13はLBGAKB信号をLOWとし、LBRB信号を
HIGHとする。これにより、インバータ241の出力
はHIGHとなり、JKFF240のQ出力はLOWと
なる。これにより、LBGB信号はHIGHとなる。D
MAコントロラ13はデータ転送を開始し、データ転送
を終了するまで、LBGAK信号をLOWに保持する。By the way, the JKFF 221 is
When the output S3, which is the inverted Q output, becomes LOW and the output ■ becomes HIGH, the D
The inverted Q output of FF239 goes high at the rising edge of the CLK signal.
IGH and LBG, which is the output of the NAND circuit 242
The B signal becomes LOW. This is DMA controller 1
The DMA controller 13 sets the LBGAKB signal to LOW and the LBRB signal to HIGH. As a result, the output of the inverter 241 becomes HIGH, and the Q output of the JKFF 240 becomes LOW. As a result, the LBGB signal becomes HIGH. D
The MA controller 13 starts data transfer and holds the LBGAK signal LOW until the data transfer is finished.
データ転送が終了し、LBGAK信号をHIGHにする
と、第3図(a)に示したAND回路216の出力S2
がHIGHとなり、NOR回路238の出力S17がL
OWとなり、DFF234のQ出力となる出力S15を
LOWとする。CLK信号の立ち上がりでJKFF22
1の反転Q出力となる出力S3がHIGHとなり、同時
にDFF235の反転Q出力となる出力S16もHIG
Hとなり、出力■がLOWとなり、再びアービトレーシ
ョンサイクルに入る。メインCPU33のアクセスは通
常のサイクルではJASE信号がLOWになっているこ
とで示されるがメインCPU33とサブCPU9のソフ
トウェアの同期のため、分割してはならない読み出しと
書き込みサイクル、いわゆるリートモディファイライト
サイクルがある。その際、メインCPU33からJRM
CB信号がLOWになることで、このサイクルであるこ
とを認知する。When the data transfer is completed and the LBGAK signal is set to HIGH, the output S2 of the AND circuit 216 shown in FIG. 3(a)
becomes HIGH, and the output S17 of the NOR circuit 238 becomes L.
OW, and the output S15, which is the Q output of the DFF 234, is set to LOW. JKFF22 at the rise of CLK signal
The output S3, which is the inverted Q output of 1, becomes HIGH, and at the same time, the output S16, which is the inverted Q output of the DFF 235, also becomes HIGH.
The signal becomes H, the output ■ becomes LOW, and the arbitration cycle begins again. Access to the main CPU 33 is indicated by the JASE signal being LOW in a normal cycle, but in order to synchronize the software of the main CPU 33 and sub CPU 9, a read and write cycle that must not be divided, a so-called read modify write cycle, is performed. be. At that time, from the main CPU33
This cycle is recognized by the CB signal becoming LOW.
このJRMCB信号は第3図(a)に示したANDゲー
トに人力されており、JASB信号がHIGHになり、
通常のサイクルでは出力10がHIGHになってサイク
ルを終了させるが、JRMCB信号がLOWの場合には
サイクルを終了させないようにしてリードモディファイ
ライトサイクルをサポートしている。一方、サブCPU
9側はKKRMCB信号を持たず、以下のような処理を
サポートしている。This JRMCB signal is manually input to the AND gate shown in Figure 3(a), and the JASB signal becomes HIGH.
In a normal cycle, the output 10 becomes HIGH to end the cycle, but when the JRMCB signal is LOW, the cycle is not ended to support the read-modify-write cycle. On the other hand, sub CPU
The 9 side does not have a KKRMCB signal and supports the following processing.
KRW信号がHIGHlすなわち読出しサイクルでKA
SB信号がLOWになり、その後KUDSB信号または
KLDSB信号がLOWになり、1
デュアルポートメモリ11またはデュアルポートメモリ
12を読み出し、メモリコントローラ13はLDTAK
B信号をLOWにし、アービタ14からはKDTAK信
号として出力される。これにより、KUDSB信号また
はKLDSB信号がHIGHとなり、KASB信号がL
OWのままでKRW信号がLOWになり、再びKUDS
B信号またはKLDSBがHIGHとなり、デュアルホ
トメモリ11またはデュアルポートメモリ12に書き込
む。メモリコントローラ13は再びLDTAKB信号を
LOWとする。これにより、今度はKASB信号も含め
てKUDSB信号またはKLDSB信号がHIGHとな
り、サイクルが終了する。The KRW signal is HIGH1, that is, KA in the read cycle.
The SB signal goes LOW, then the KUDSB signal or KLDSB signal goes LOW, 1. The dual port memory 11 or dual port memory 12 is read, and the memory controller 13 reads LDTAK.
The B signal is set to LOW, and the arbiter 14 outputs it as a KDTAK signal. As a result, the KUDSB signal or KLDSB signal becomes HIGH, and the KASB signal becomes LOW.
While it remains OW, the KRW signal becomes LOW and the KUDS
The B signal or KLDSB becomes HIGH, and data is written to the dual photo memory 11 or dual port memory 12. The memory controller 13 again sets the LDTAKB signal to LOW. As a result, the KUDSB signal or KLDSB signal including the KASB signal becomes HIGH, and the cycle ends.
一方、メモリコントローラ13は、サイクルを全てLA
SB信号がLOWの期間とし、メモリコントローラ13
自体がリードモディファイライトサイクルをサポートし
てはいない。このため、DFF245〜247.JKF
F250.NAND回路248により、1回LDTAK
B信号がLOWになり、KRW信号がHIGHからLO
Wに切り換わると、LKAS信号が1回LOW、すなわ
ちLASB信号が1回HIGHに設定する。On the other hand, the memory controller 13 transfers all cycles to LA.
The period when the SB signal is LOW, the memory controller 13
It does not itself support read-modify-write cycles. For this reason, DFF245-247. JKF
F250. LDTAK once by NAND circuit 248
The B signal goes LOW, and the KRW signal goes from HIGH to LOW.
When switched to W, the LKAS signal is set to LOW once, that is, the LASB signal is set to HIGH once.
LDTAKB信号がLOWになると、第3図(C)に示
したインバータ271のインバータ出力LDTがHIG
Hとなり、JKFF250のQ7出力がHIGHとなる
。KRWがHIGHからLOWになると、DFF246
.247のQ出力がHIGHで、DFF245の反転Q
出力が1(IGHとなるため、CLK信号の立ち上がり
が2回の間、LKAS信号がLOW、LASB信号がH
IGHとなる。アービタ14は、このように2種類のリ
ードモディファイライトサイクルをサポートし、この間
イメージバスの権利を変更しない処理している。また、
LASB信号は必ず2回LOWとなる。When the LDTAKB signal becomes LOW, the inverter output LDT of the inverter 271 shown in FIG. 3(C) becomes HIGH.
It becomes H, and the Q7 output of JKFF250 becomes HIGH. When KRW goes from HIGH to LOW, DFF246
.. When the Q output of 247 is HIGH, the inverted Q of DFF245
Since the output becomes 1 (IGH), the LKAS signal is LOW and the LASB signal is HIGH while the CLK signal rises twice.
Becomes IGH. The arbiter 14 thus supports two types of read-modify-write cycles, and does not change the rights to the image bus during these cycles. Also,
The LASB signal always goes LOW twice.
アービタ14はメインCPU33とサブCPU9の割込
みハンドシェークもサポートしており、メインCPU3
3が第3図(g)に示した信号JD1をLOWとして信
号JRW、JC3BをLO4
Wとすると、第3図(C)に示したDFF263.信号
264とNAND回路265によりCLK信号の立ち上
がりから次の立ち上がりの間、JJB信号がLOWとな
り、第3図(g)のOR回路321.315によりJI
QACK(g号かLOWとなる。その結果、OR回路3
30の出力がLOWとなり、NAND回路331の出力
がHIGHとなり、NAND回路329の出力となるK
INTB信号がLOWとなり、この信号がサブCPU9
への割込み信号となる。サブCPU9は第3図(g)に
示したKDI信号をLOWとしてKRW信号、KCSB
信号をLOWとすると、第3図(c)に示したDFF2
75.276とNAND回路279によりCLK信号の
立ち上がりから次の立ち上がりの間、KKB信号がLO
Wとなり、第3図(h)のOR回路326.322によ
り、KIQACK信号がLOWとなる。この結果、OR
回路332の出力がLOWとなり、NAND回路333
の出力がHIGHとなり、NAND回路334の出力と
なるJ I NTB信号がLOWとなり、このJINT
B信号かメインCPU33への割込み信号となり、同時
にNAND回路329の出力となるKINTB信号をH
IG)(に戻し、割込み信号をクリアする。相手のCP
Uに割込みをかけず、自分の割込み信号のみをクリアす
るには、メインCPU33かJDI信号の代わりにJD
2信号をLOW、サブCPU9はKDI信号の代わりに
KD2信号をLOWとすれば、JIQCLR信号、KI
QCLR信号がLOWとなり、割込みをクリアする。ま
た、割込みを発生させないように信号JD3.信号KD
3をLOWとして、JRW信号、JCSB信号をLOW
、KPW信号、KCSB信号をLOWとすると、JMS
KST信号、KMSKST信号がLOWとなり、5RF
F328.337のQ出力がHIGHとなり、OR回路
330,332の出力がLOWになることがなくなり、
割込み信号が発生しなくなる。JD4信号、KD4信号
をLOWとして、JRW信号、JC3B信号をLOWと
し、KRW信号、KCC3B信号をLOWとすれば、割
込みを解除す5
ることもできる。また、メインCPU33からはJD5
信号、JRW信号、JC3B信号をLOWとすれば、K
RESB信号をHIGHにすることができ、これをサブ
CPU9のリセット信号とすればメインCPU33から
サブCPU9の起動を行うことができる。JD6信号、
JRW信号、JC3B信号をLOWとすれば(第8図参
照)、再びサブcpu9のリセットを行うことができる
。The arbiter 14 also supports interrupt handshaking between the main CPU 33 and sub CPU 9.
When the signal JD1 shown in FIG. 3(g) is set to LOW and the signal JRW and JC3B are set to LO4W, the DFF 263.3 shown in FIG. 3(c). The signal 264 and the NAND circuit 265 cause the JJB signal to go LOW from one rising edge to the next rising edge of the CLK signal, and the OR circuits 321 and 315 in FIG. 3(g) turn the JJB signal LOW.
QACK (g becomes LOW. As a result, OR circuit 3
The output of K 30 becomes LOW, the output of NAND circuit 331 becomes HIGH, and the output of NAND circuit 329 becomes LOW.
The INTB signal becomes LOW, and this signal is sent to the sub CPU9.
It becomes an interrupt signal for The sub CPU 9 sets the KDI signal shown in FIG. 3(g) to LOW and outputs the KRW signal and KCSB.
When the signal is set to LOW, the DFF2 shown in Fig. 3(c)
75.276 and the NAND circuit 279, the KKB signal is LO from the rising edge of the CLK signal to the next rising edge.
W, and the KIQACK signal becomes LOW by the OR circuits 326 and 322 in FIG. 3(h). As a result, OR
The output of the circuit 332 becomes LOW, and the NAND circuit 333
The output of JINTB becomes HIGH, and the JINTB signal, which is the output of the NAND circuit 334, becomes LOW.
The B signal becomes an interrupt signal to the main CPU 33, and at the same time the KINTB signal, which becomes the output of the NAND circuit 329, goes H.
IG) (and clear the interrupt signal. The other party's CP
To clear only your own interrupt signal without interrupting U, use JD instead of main CPU33 or JDI signal.
If the sub CPU 9 sets the KD2 signal to LOW instead of the KDI signal, the JIQCLR signal, KI
The QCLR signal becomes LOW, clearing the interrupt. Also, the signal JD3. Signal KD
3 is LOW, JRW signal and JCSB signal are LOW.
, KPW signal, and KCSB signal are LOW, JMS
KST signal, KMSKST signal becomes LOW, 5RF
The Q output of F328.337 becomes HIGH, and the outputs of OR circuits 330 and 332 no longer become LOW.
Interrupt signals will no longer be generated. The interrupt can also be canceled by setting the JD4 signal and KD4 signal LOW, the JRW signal and JC3B signal LOW, and the KRW signal and KCC3B signal LOW. Also, from the main CPU33, JD5
If the signal, JRW signal, and JC3B signal are LOW, then K
The RESB signal can be set to HIGH, and if this is used as a reset signal for the sub CPU 9, the sub CPU 9 can be started from the main CPU 33. JD6 signal,
By setting the JRW signal and the JC3B signal to LOW (see FIG. 8), the sub CPU 9 can be reset again.
以下、デュアルポートメモリ12を使用してCRTデイ
スプレィ4にウィンドやカーソルを表示する場合を例と
してデータ転送処理について具体的に説明する。The data transfer process will be specifically explained below, taking as an example a case where a window and a cursor are displayed on the CRT display 4 using the dual port memory 12.
デュアルポートメモリ12は全ての領域を表示に使用す
るわけではなく、一部領域は完全な自由なRAMとして
使用可能となっている。このデュアルポートメモリ12
はメインCPU33とサブcpu9の両方からアクセス
できるため通信用のバッファとして最適である。アービ
タ14を使用して相手に割込みをかけ、そのときの命令
(コマンド)または応答の状態をこのデュアルボートメ
6
モリ12の空き領域の通信バッファでやり取りを行う。Not all areas of the dual port memory 12 are used for display, and some areas can be used as completely free RAM. This dual port memory 12
Since it can be accessed from both the main CPU 33 and the sub CPU 9, it is ideal as a communication buffer. The arbiter 14 is used to interrupt the other party, and the status of the command or response at that time is exchanged in the communication buffer in the free area of the dual boat memory 12.
このシステムではカーソルの表示はサブCPU9で行い
ウィンドの作成やウィンドの内容の書き換えはメインC
PO33が行うようにしている。In this system, the cursor is displayed on the sub CPU 9, and the main CPU 9 is responsible for creating windows and rewriting the window contents.
PO33 is responsible for this.
そのため、メインcpu33かVRAMをイ吏用する時
は、通信バッファ内にウィンド書き換えの要求命令とウ
ィンドの座標を書いてアービタ14に対してJ I Q
ACK信号の命令を発行し、サブCPU9に割込みをか
ける。サブCPU9は割込み信号となるKINTB信号
により通信バッファからウィンド書@換え要求命令を受
は取り、ビジフラグをONとする。次に、ウィンドの4
vaの座標を受は取り、カーソルを表示しているウィン
ドでクリッピング演算を行う。その結果、カーソルとメ
インCPU33が書き換えようとしているウィンドに重
なりがあるときは、サブCPU9はカーソルを消し、そ
の部分にもとの画像を戻しておく。そして、アービタ1
4に対してKIQACK信号を発行し、メインCPU3
3に割込み信号と 8
なるJINTB信号を発生させる。メインCPU33は
、このウィンド書き換えコマンドの応答の割込みを受け
てウィンドを書き換える。もし、カソルとウィンドとに
重なりがないときはカーソルを消さずに、KIQACK
信号を発行する。メインCPU33かウィンド書キ換え
を終了すると、通信バッファ内に終了書き換えコマンド
を書き、JIQACK信号をアービタ14に対してJI
QACK信号を発行して、サブCPU9に割込み信号と
なるKINTB信号を発生させる。サブCPU9は、こ
れにより、ビジーフラグをOFFし、アービタ14にK
IQACK信号を発行し、発生したJINTB信号の割
込みを、メインCPUは終了コマンドに対する応答とし
て受は取る。Therefore, when using the main CPU 33 or VRAM, write the window rewriting request command and the window coordinates in the communication buffer and send it to the arbiter 14.
It issues an ACK signal command and interrupts the sub CPU 9. The sub CPU 9 receives the window rewrite request command from the communication buffer using the KINTB signal, which is an interrupt signal, and turns on the busy flag. Next, window 4
It takes the coordinates of va and performs a clipping operation on the window where the cursor is displayed. As a result, if there is an overlap between the cursor and the window that the main CPU 33 is attempting to rewrite, the sub CPU 9 erases the cursor and restores the original image to that area. And arbiter 1
Issues a KIQACK signal to main CPU3.
Generate an interrupt signal at 3 and a JINTB signal at 8. The main CPU 33 rewrites the window upon receiving an interruption in response to this window rewriting command. If there is no overlap between the cursor and the window, do not erase the cursor and use KIQACK.
Issue a signal. When the main CPU 33 finishes rewriting the window, it writes an end rewriting command in the communication buffer and sends a JIQACK signal to the arbiter 14.
A QACK signal is issued to cause the sub CPU 9 to generate a KINTB signal as an interrupt signal. The sub CPU 9 thereby turns off the busy flag and sends a K to the arbiter 14.
The main CPU issues the IQACK signal and receives the generated JINTB signal interrupt as a response to the termination command.
サブCPU9は割込み処理だけでなく、別ルーチンでカ
ーソル表示を行っており、インタフェース10て発生ず
るタイマ割込み毎にポインティングデバイスの座標値を
読み取り、前回と差があると、その座標値を保存し、先
の割込みルーチンでON10 F Fするビジーフラグ
をみて、ONならば書き換えウィンドをカーソルウィン
ドでクリッピングし、もし重なりがある時はカーソル表
示せず、重なりがない時と、ビジーフラグがOFFのと
きはカーソルを表示する。カーソル表示とは、カーソル
ウィンド内の画像を退避し、矢印等のカソルな表示し、
別の場所にカーソルを移動する時は、退避した画像を戻
し、移動した位置で再び画像を退避して行う。The sub CPU 9 not only processes interrupts, but also displays a cursor in a separate routine, reads the coordinate values of the pointing device every time a timer interrupt occurs on the interface 10, and if there is a difference from the previous one, saves the coordinate values. Look at the busy flag that turns ON10FF in the previous interrupt routine, and if it is ON, clip the rewrite window with the cursor window, if there is an overlap, do not display the cursor, and if there is no overlap and the busy flag is OFF, do not display the cursor. indicate. Cursor display means saving the image in the cursor window and displaying a cursor such as an arrow.
When moving the cursor to another location, the evacuated image is returned and the image is evacuated again at the moved position.
次に、第9図(a)〜(c)を参照しながらこの発明に
係る情報処理装置におけるカーソル/ウィンド処理動作
について説明する。Next, the cursor/window processing operation in the information processing apparatus according to the present invention will be explained with reference to FIGS. 9(a) to 9(c).
第9図(a)〜(C)はこの発明に係る情報処理装置に
おけるカーソル/ウィンド処理手順の一例を説明するフ
ローチャートである。なお、(1)〜(9) 、 (
11)〜(19)、 (21)〜(26)は各ステッ
プを示す。以下、同図(a)の処理から順次説明する。FIGS. 9(a) to 9(C) are flowcharts illustrating an example of a cursor/window processing procedure in an information processing apparatus according to the present invention. In addition, (1) to (9), (
11) to (19) and (21) to (26) indicate each step. Hereinafter, the process will be explained sequentially starting from the process shown in FIG.
サブCPU9はタイマ割込み処理が発生すると(1)、
ポインティングデバイス6からの座標値を読み取り(2
)、前回の座標値とに差があるかどうかを判断しく3)
、Noならばステップ(1)に戻り、YESならば現在
の座標値を保存する(4)。When the timer interrupt processing occurs, the sub CPU 9 (1)
Read the coordinate values from the pointing device 6 (2
), determine whether there is a difference from the previous coordinate values 3)
, if No, return to step (1), and if YES, save the current coordinate values (4).
次いで、ビジーフラグがONかどうかを判断しく5)、
NOならばステップ(9)以降に進み、YESならば書
換えウィンドの4隅の座標を受は取る(6)、次いで、
カーソルウィンドでクリッピングしく7)、重なりがあ
るかどうかを判断しく8) 、 YESならばステップ
(1)に戻り、NOならはカソルを表示しく9)、ステ
ップ(1)に戻る。Next, determine whether the busy flag is ON or not 5).
If NO, proceed to step (9) and onwards; if YES, take the coordinates of the four corners of the rewrite window (6); then,
Try clipping in the cursor window 7) and determine if there is an overlap 8) If YES, return to step (1); if NO, display the cursor 9) and return to step (1).
方、通信割込のプロセスは、同図(b)に示すように、
ウィンド書換え要求が発生しているかどうかを判断しく
11)、YESならばビジーフラグをON L/ (1
2)、書換えウィンドの4隅の座標を受は取る(13)
。次いで、カーソルウィンドでクリッピングしく14)
、重なりがあるかどうかを判断しく15)、Noならば
ステップ(17)以降に進み、YESならばカーソルを
消去しく16)、応答コマンドを発行しく17)、処理
を終了する。On the other hand, the communication interrupt process is as shown in FIG.
Determine whether a window rewrite request has occurred (11), and if YES, turn on the busy flag (11).
2) Take the coordinates of the four corners of the rewriting window (13)
. Next, try clipping in the cursor window 14)
, it is determined whether or not there is an overlap (15), and if No, the process proceeds to step (17) and subsequent steps; if YES, the cursor is deleted (16), a response command is issued (17), and the process ends.
方、ステップ(11)の判断において、Noの場合はビ
ジーフラグをOF F +/ (48)、応答コマンド
を発行しく19)、処理を終了する。On the other hand, if the determination in step (11) is No, the busy flag is turned off (48), a response command is issued (19), and the process is terminated.
方、メインCPO33は、同図(C)に示すように、書
換えウィンドの4隅の座標を通信バッファに送り(21
)、ウィンド書換え要求コマンドを発行しく22)、サ
ブCPU9等からのコマンド応答が発生ずるのを待機し
く23)、応答がなされたら、ウィンドを書き換え(2
4)、ウィンド書換えを終了するコマンドを発行する(
25)。次いて1、サブCPU9等からのコマンド応答
が発生するのを待機しく26)、処理を終了する。On the other hand, the main CPO 33 sends the coordinates of the four corners of the rewrite window to the communication buffer (21
), issue a window rewrite request command 22), wait for a command response from the sub CPU 9, etc. 23), and when a response is received, rewrite the window (2
4) Issue a command to end window rewriting (
25). Next, 1, the process waits for a command response from the sub CPU 9, etc. 26), and ends the process.
次に、第10図(a)、(b)を参照しながらサブCP
U9とメインcpu33によるドラッギング処理につい
て説明する。Next, while referring to FIGS. 10(a) and (b), the sub-CP
The dragging process by U9 and main CPU 33 will be explained.
第10図(a)、(b)はこの発明に係る情報処理装置
に係るサブCPU9とメインCPU33によるドラッギ
ング処理手順の一例を説明するフローチャートである。FIGS. 10(a) and 10(b) are flowcharts illustrating an example of a dragging process procedure performed by the sub CPU 9 and the main CPU 33 in the information processing apparatus according to the present invention.
なお、(1)〜(18)、 (21)〜(29)は各ス
テップを示す。Note that (1) to (18) and (21) to (29) indicate each step.
サブCPU9は、カーソル位置を通信バッファに送り(
1)、左キーONを示す割込みを発行し(2)、コマン
ド応答を待機する(3)。The sub CPU 9 sends the cursor position to the communication buffer (
1), issues an interrupt indicating left key ON (2), and waits for a command response (3).
次いで、ドラッギング命令かどうかを判断しく4)、N
Oならば別処理を行い、YESならばウィンド枠サイズ
位置を受は取り(5)、矢印カーソルを0FFL(6)
、ウィンド枠の反転表示を行う(7)。次いで、タイマ
割込みが発生するの待機しく8)、割込みがかかったら
ポインティングデバイス6の座標値を読み取り(9)、
前回の座標値と差があるかどうかを判断しく10)、
Noならばステップ(8)に戻り、YESならば座標値
を保存しく11)、ウィンド枠位置変更する(12)。Next, it is determined whether it is a dragging command 4), N
If YES, perform another process, if YES, take the window frame size position (5) and move the arrow cursor to 0FFL (6)
, the window frame is displayed in reverse (7). Next, wait for a timer interrupt to occur (8), and when the interrupt occurs, read the coordinate values of the pointing device 6 (9),
To determine whether there is a difference from the previous coordinate values 10),
If No, return to step (8); if Yes, save the coordinate values (11) and change the window frame position (12).
次いで、ウィンド枠を表示しく13)、キーOFF状態
かどうかを判断しく14)、Noならばステップ(8)
に戻り、YESならばウィンド枠サイズ位置を転送しく
15)、左キーOFFを示す割込みを発行しく16Lコ
マンド応答が発生するのを待機する(17)。次いで、
コマンド応答を発行しく18)、処理を終了する。Next, display the window frame (13), determine whether the key is in the OFF state (14), and if No, step (8).
If the answer is YES, the window frame size position is transferred (15), an interrupt indicating that the left key is OFF is issued, and 16L command response is waited for (17). Then,
A command response is issued (18), and the process ends.
一方、メインcpu33は第10図(b)に示すように
、上記ステップ(2)で割込みが発行され3
ると、カーソル位置のウィンドを調べ(21)、ドラッ
ギング領域かどうかを判断しく22)、ウィンド枠サイ
ズ、位置等を通信バッファに送り(23)、ドラッギン
グコマンドを発行する(24)。次いで、コマンド応答
があったかどうかを判断しく25)、YESならばウィ
ンド枠サイズ、位置を受は取る(26)。On the other hand, as shown in FIG. 10(b), when the interrupt is issued in step (2), the main CPU 33 checks the window at the cursor position (21) and determines whether it is a dragging area (22). The window frame size, position, etc. are sent to the communication buffer (23), and a dragging command is issued (24). Next, it is determined whether there is a command response (25), and if YES, the window frame size and position are taken (26).
次いで、ウィンドを書き換え(27)、 ウィンド書換
え終了コマンドを発行する(28)。次いで、コマンド
応答がなされるのを待機しく29)、コマンド応答がな
されたら、処理を終了する。Next, the window is rewritten (27) and a window rewriting end command is issued (28). Next, it waits for a command response (29), and when the command response is issued, the process ends.
次に、第11図(a)、(b)を参照しながらこの発明
にかかる情報処理装置にかかるポツプアップメニュー示
処理動作について説明する。Next, the pop-up menu display processing operation of the information processing apparatus according to the present invention will be explained with reference to FIGS. 11(a) and 11(b).
第11図(a)、(b)はこの発明にかかる情報処理装
置にかかるポツプアップメニュー示処理手順の一例を説
明するフローチャートである。なお、(1)〜(29)
、 (31)〜(48)は各ステップを示す。FIGS. 11(a) and 11(b) are flowcharts illustrating an example of the pop-up menu display processing procedure of the information processing apparatus according to the present invention. In addition, (1) to (29)
, (31) to (48) indicate each step.
先ず、サブCPU9は、カーソル位置を通信バッファに
送り(1)、右キーONを示す割込みを発行する(2)
。次いで、コマンド応答がなされるのを待機しく3)、
YESならばポツプアップメニュー命令かどうかを判断
しく4)、YESならばポツプアップウィンド列を読み
出しく5)、矢印カーソルをOFFする(6)。次いで
、応答コマンドを発行しくア)、コマンド応答がなされ
るのを待機しく8)、YESならば矢印カーソルをON
しく9)、右キーOFFかどうかを判断しく1o)、ス
テップ(24)以降に進み、矢印カーソルをOFFし、
セレクト領域かどうかを判断しく25)、YESならば
右キーを0FFL、実行割込みを発行する(26)。次
いで、コマンド応答がなされるのを待機しく28)、Y
ESならば矢印カーソルをONシ(29)、処理を終了
する。First, the sub CPU 9 sends the cursor position to the communication buffer (1) and issues an interrupt indicating that the right key is ON (2).
. Then, wait for a command response 3),
If YES, it is determined whether it is a pop-up menu command (4), if YES, the pop-up window row is read out (5), and the arrow cursor is turned off (6). Next, issue a response command (a), wait for a command response (8), and if YES, turn on the arrow cursor.
Step 9), check whether the right key is OFF or not 1o), proceed to step (24) and later, turn the arrow cursor OFF,
It is determined whether it is a select area (25), and if YES, the right key is pressed to 0FFL and an execution interrupt is issued (26). Next, wait for a command response 28), Y
If it is ES, turn on the arrow cursor (29) and end the process.
一方、ステップ(25)の判断でNoの場合は、右キー
を0FFL/、不実行割込みを発行しく27)、ステッ
プ(28)に進む。On the other hand, if the determination in step (25) is No, press the right key to issue a non-execution interrupt (27), and proceed to step (28).
一方、ステップ(10)の判断で、Noの場合はタイマ
割込みがかかるのを待機しく11)、YESならばポイ
ンティングデバイス座標値を読み取り(12)、前回の
座標値と差があるかどうかを判断しく13)、NOなら
ばステップ(10)に戻り、YESならば座標値を保存
しく14)、カーソルを表示する(15)。On the other hand, if the judgment in step (10) is No, wait for a timer interrupt (11), and if YES, read the pointing device coordinate value (12) and judge whether there is a difference from the previous coordinate value. If the answer is NO, the process returns to step (10); if the answer is YES, the coordinate values are saved 14) and the cursor is displayed (15).
次いで、セレクト領域かどうかを判断しく16)、YE
Sならばステップ(19)以降に進み、NOならばサブ
ウィンド作成領域かどうかを判断しく17)、Noなら
ばステップ(10)に戻り、YESならばサブウィンド
を割り込ませ(18)、ステップ(3)に戻る。Next, determine whether it is a select area 16), YE
If S, proceed to step (19) and later; if NO, determine whether it is a subwindow creation area (17); if No, return to step (10); if YES, insert the subwindow (18), and step (17). Return to 3).
一方、ステップ(16)の判断で、YESの場合は別メ
ニューかどうかを判断しく1g)、Noならばステップ
(lO)に戻り、YESならば矢印カーソルをOF F
L (20)、セレクト変更割込みを発行しく21)
、コマンド応答を待機しく22)、YESならば矢印カ
ーソルをON L、 (23)、ステップ(lO)に戻
る。On the other hand, if the judgment in step (16) is YES, judge whether it is a separate menu (1g), if No, return to step (lO), and if YES, turn the arrow cursor OFF.
L (20), issue select change interrupt 21)
, wait for a command response 22), and if YES, turn the arrow cursor ON L, (23), return to step (lO).
一方、メインCPU33は、第10図(b)に示すよう
に、カーソル位置のウィンドを調べ(31)、ウィンド
があるかどうかを判断しく32)、N0ならば別処理を
実行し、YESならばポツプアップメニューコマンド1
を発行しく34)、コマンド応答を待機する(35)。On the other hand, as shown in FIG. 10(b), the main CPU 33 checks the window at the cursor position (31) and determines whether there is a window (32). If N0, executes another process; if YES, Pop-up menu command 1
(34) and waits for a command response (35).
YESならばポツプアップウィンドを作成しく36)、
ポツプアップメニューコマンド2を発行する(37)。If YES, create a pop-up window 36),
Pop-up menu command 2 is issued (37).
次いで、セレクト変更割込みがかかるのを待機しく38
)、NOならばステップ(41)以降に進み、YESな
らば色変更を実行しく39)、応答コマンドを発行しく
40)、ステップ(38)に戻る。Next, wait for a select change interrupt.38
), if NO, proceed to step (41) onwards; if YES, execute color change 39), issue response command 40), return to step (38).
方、ステップ(38)の判断てNoの場合は、サブウィ
ンド割込みが発生したかどうかを判断しく41)、YE
Sならばステップ(33)に戻り、NOならば右キーO
FFを示す実行割込みかどうかを判断しく42)、 Y
E、Sならばポツプアップウィンドを消去しく44)、
応答コマンドを発行しく45)、コマンドを実行しく4
6)、処理を終了する。On the other hand, if the judgment in step (38) is No, it is necessary to judge whether a subwindow interrupt has occurred (41), YE.
If S, return to step (33); if NO, right key O
Determine whether it is an execution interrupt indicating FF42), Y
If it is E or S, the pop-up window should be deleted 44),
Issue the response command 45), execute the command 4
6), end the process.
方、ステップ(42)の判断て、NOの場合は右キーO
FFを示す不実行割込みかどうかを判断しく43)、N
oならば別処理に移行し、YESならばポツプアップウ
ィンドを消去しく47)、応答コマンドを発行しく48
)、処理を終了する。If the judgment in step (42) is NO, press the right key O.
43), N
If o, proceed to another process; if YES, delete the pop-up window47) and issue a response command48
), the process ends.
次に、5CSIコントローラ3とデュアルホトメモリ1
1のシリアルボートインタフェース10の処理動作につ
いて説明する。Next, 5CSI controller 3 and dual photo memory 1
The processing operation of the serial port interface 10 will be explained.
デュアルポートメモリ11はプリンタ2.スキャナ1用
のためCRTデイスプレィ4用のデュアルポートメモリ
12に比へ格段に容量が大きくなっており、A4サイズ
1枚を出力するために1インチ当たり400ドツトのピ
クセルサイズで出力すると、約2Mバイトの容量が必要
となる。このため、現状では1Mビットのチップを用い
て16個のデュアルポートメモリが必要となる。256
にバイト×4構成てハス幅を16ビツトとすれは同時に
アクセスすることのない4個のメモリブロックで構成さ
れる。このため、B4サイズだと6個、A3サイズたと
8個のメモリブロックが必要となる。プリンタに出力す
る際、SC3Iコントローラ3が先ず、データ要求をシ
リアルインタフェース10に対して行う。シリアルイン
タフェース10はまたデータかないためメモリコントロ
ラ13に読出し転送サイクルをするように要求する。メ
モリコントローラ13はメモリリフレッシュ、cpuア
クセス等の間で読出し転送サイクルを行い、応答信号を
シリアルインタフェース]0に返信する。デュアルボー
1−メモリ11のシリアルボートにはデータが既に存在
しているため、シリアルインタフェース10はシリアル
クロックとデータイネーブル信号を出力し、デュアルポ
ートメモリ11のシリアルボートからデータを読み出し
て蓄える。読み出したデータは16ビツトのため、SC
3Iコントローラ38には8ビツトずつデータを分割し
て転送する。このようにしてブタを読み出していくと同
時に、いくつ読み出したかをシリアルインタフェース1
0はカウントしていて、デュアルポートメモリ11のシ
リアルホトのデータをすべて読み出したと同時に、メモ
リコントローラ13に対して次のアドレスのデータをシ
リアルボートに転送するように読み出し転送サイクル要
求を行う。メモリコントローラ13はシリアルバッファ
の数だけずらしてデュアルボ9
トメモリ11に対し読み出し転送サイクルを行う。The dual port memory 11 is connected to the printer 2. Because it is for one scanner, the capacity is much larger than that of the dual port memory 12 for four CRT displays, and when outputting one A4 size sheet at a pixel size of 400 dots per inch, it is approximately 2 MB. capacity is required. Therefore, at present, 16 dual port memories using 1M bit chips are required. 256
It is composed of 4 bytes and has a width of 16 bits, so it is composed of four memory blocks that cannot be accessed simultaneously. Therefore, six memory blocks are required for B4 size and eight memory blocks for A3 size. When outputting to a printer, the SC3I controller 3 first requests data to the serial interface 10. Serial interface 10 also requests memory controller 13 to perform a read transfer cycle since no data is available. The memory controller 13 performs a read transfer cycle during memory refresh, CPU access, etc., and sends a response signal back to the serial interface 0. Since data already exists in the serial port of the dual port memory 11, the serial interface 10 outputs the serial clock and data enable signals to read and store data from the serial port of the dual port memory 11. Since the read data is 16 bits, SC
The data is divided into 8 bits and transferred to the 3I controller 38. While reading out the pigs in this way, at the same time, the serial interface 1 reports how many have been read out.
0 is counting, and at the same time when all the data of the serial port of the dual port memory 11 is read, a read transfer cycle request is made to the memory controller 13 to transfer the data of the next address to the serial port. The memory controller 13 performs a read transfer cycle to the dual-bottom memory 11 by shifting it by the number of serial buffers.
もし、1つのメモリブロックの範囲を越えれば次のメモ
リブロックに対して読み出し転送サイクルを行う。また
、スキャナ1からデータを書き込む際は、先ず、5CS
Iコントローラ3.シリアルインタフェース10.デュ
アルポートメモリ11とデータが流れるが、何もしない
と最初の1ライン目のバッファへの書き込みは読み出し
モードか書き込みモードか分からないため、すべての書
き込みの前にメモリブロック毎に擬似書込み転送サイク
ルをメモリコントローラ13が行う。これは、ローアド
レスストローブ信号(RAS信号)の立ち下がりで書込
みイネーブル信号(WE信号)をLOW、DT信号、S
E信号をHIGHにして行う。通常の書込み転送サイク
ルはSE信号はLOWに設定する。また、読み出し転送
サイクルでは、ローアドレスストローブ信号(RAS信
号)をLOW、書込みイネーブル信号(WE信号)をL
OW、DT信号をLOWとする。こうして、デュアルポ
ートメモリ11の準備ができてからデータ転送を行い、
シリアルボートのバッファがいっばいになったことをシ
リアルインタフニス10がカウントしていてメモリコン
トローラ13に通常の書込み転送サイクルを要求する。If the range of one memory block is exceeded, a read transfer cycle is performed to the next memory block. Also, when writing data from scanner 1, first
I controller 3. Serial interface 10. Data flows to the dual port memory 11, but if nothing is done, it is not known whether writing to the first line buffer is in read mode or write mode, so a pseudo write transfer cycle is performed for each memory block before every write. The memory controller 13 performs this. This causes the write enable signal (WE signal) to go LOW at the falling edge of the row address strobe signal (RAS signal), the DT signal, and the S
Set the E signal to HIGH. In a normal write transfer cycle, the SE signal is set to LOW. In addition, in the read transfer cycle, the row address strobe signal (RAS signal) is LOW, and the write enable signal (WE signal) is LOW.
Set the OW and DT signals to LOW. In this way, data transfer is performed after the dual port memory 11 is ready,
The serial interface 10 counts that the serial port buffer is full and requests the memory controller 13 to perform a normal write transfer cycle.
メモリコントローラ13は書込み転送サイクルを行い、
その後、次の書込み転送サイクルのアドレスを決め、も
しメモリブロックの範囲を越えていれば次のメモリブロ
ックを先にイネーブルにしておく。こうして、複数のメ
モリブロックに画像ブタが読み込まれる。The memory controller 13 performs a write transfer cycle,
After that, the address of the next write transfer cycle is determined, and if it exceeds the range of the memory block, the next memory block is enabled first. In this way, image pigs are read into a plurality of memory blocks.
次に、第1図に示した画像伸張デバイス15の動作につ
いて説明する。Next, the operation of the image decompression device 15 shown in FIG. 1 will be explained.
メモリコントローラ13は一方がメモリコントローラ1
3に接続され、他方がバス幅調整デバイス16に接続さ
れている。One side of the memory controller 13 is the memory controller 1.
3, and the other end is connected to the bus width adjustment device 16.
メモリコントローラ13は、画像ピッチ、主走査数、副
走査数、左オフセット、転送開始アドレス、転送方向を
決定するレジスタを有し、メモリに対し主走査方向に1
ワードずつ順次データを読み書きしていく。画像はビッ
トイメージのため左端と右端では不必要なデータか発生
する場合がある。デュアルポートメモリ11への書込み
てはライトパービットの機能を用いてRAS信号の立ち
下がり時にマスクすべきデータビットをLOWにするこ
とで行う。左端のマスクデータは左オフセットレジスタ
で決定するが、右端のマスクデータは左オフセットレジ
スタと主走査数レジスタより合成する。画像の読書きが
右端に到達すると、自動的に次のラインの左端になるよ
うにする。また、デュアルポートメモリ11に対するア
ドレス系を8ビツトデータ毎に2系統もっており、偶数
バイトのアドレスは転送アドレスが奇数の時、奇数バイ
トのアドレスよりrIJ多くなるようになっており、ま
た、その際、データも奇数バイトと偶数バイトが反転す
るようになっていて転送開始アドレスやピッチが奇数バ
イトであっても1回の転送で1ワード16ビツトのデー
タを転送できるようになっている。このように、画像圧
縮伸張デバイス15がメモリコントローラ13とデータ
を1
やり取りするが画像圧縮伸張デバイス15内には主走査
数、副走査数、左オフセット数、圧縮または伸張を決め
るコマンドのレジスタ等がある。こうして、圧縮したデ
ータはバス幅調整デバイス16に渡し、16ビツトデー
タを32ビツトデータにしてDMAコントローラ付きの
メモリコントロラ32のDMA処理でDRAM31に圧
縮ブタを転送し、伸張の場合は逆方向てデュアルホトメ
モリ11に展開された画像データか書き込まれる。また
、デュアルポートメモリ11として演算機能付きのもの
を使用すれば、RAS信号の立ち下がり時にカラムアド
レスストローブ信号(CAS信号)、WE信号をLOW
とし、演算モードをアドレス線で設定すれば、書き込ま
れたデータに対し、AND、OR,EXCLUSIVE
OR等の演算処理を行うことが可能となっている。The memory controller 13 has registers that determine the image pitch, number of main scans, number of sub-scans, left offset, transfer start address, and transfer direction.
Data is read and written sequentially word by word. Since the image is a bit image, unnecessary data may be generated at the left and right edges. Writing to the dual port memory 11 is performed by using the write per bit function to set the data bit to be masked to LOW when the RAS signal falls. The leftmost mask data is determined by the left offset register, while the rightmost mask data is synthesized from the left offset register and the main scanning number register. When the image reaches the right edge, it automatically moves to the left edge of the next line. In addition, it has two address systems for the dual port memory 11 for each 8-bit data, and when the transfer address is an odd number, the even number byte address has rIJ more than the odd number byte address. The data is also designed such that the odd and even bytes are reversed, so that even if the transfer start address or pitch is an odd number of bytes, one word of 16 bits of data can be transferred in one transfer. In this way, the image compression/expansion device 15 exchanges data with the memory controller 13, but the image compression/expansion device 15 contains registers for commands that determine the number of main scans, the number of sub-scans, the left offset number, compression or expansion, etc. be. In this way, the compressed data is passed to the bus width adjustment device 16, the 16-bit data is converted into 32-bit data, and the compressed data is transferred to the DRAM 31 through DMA processing by the memory controller 32 with a DMA controller. The developed image data is written into the photo memory 11. In addition, if a dual port memory 11 with an arithmetic function is used, the column address strobe signal (CAS signal) and WE signal will be LOW when the RAS signal falls.
If you set the calculation mode using the address line, you can perform AND, OR, EXCLUSIVE on the written data.
It is possible to perform arithmetic processing such as OR.
以上説明したように、この発明はリードモディファイド
ライトモード中または出力バスからの応答が存在し、か
つ人力ハスで読出しと書込みのモ一ト切換え時に出力の
バスサイクルを一時中断しながらバスサイクルを再開す
るバスサイクル制御手段を設けたので、種々のバスサイ
クルを実行する場合におけるメモリコントローラの負担
を軽減することができ、バス資源となるメモリコントロ
ラのバスアクセスを大幅に簡略化できる等の優れた効果
を奏する。As explained above, the present invention restarts the bus cycle while temporarily suspending the output bus cycle when in the read modified write mode or when there is a response from the output bus and the read and write modes are manually switched. Since the bus cycle control means is provided, it is possible to reduce the burden on the memory controller when executing various bus cycles, and has excellent effects such as greatly simplifying bus access by the memory controller, which is a bus resource. play.
第1図はこの発明の一実施例を示す情報処理装置の構成
を説明するシステムブロック図、第2図は、第1図に示
したサブCPUのアドレス線の最上位ビットの反転処理
の一例を示す回路ブロック図、第3図(a)〜(h)は
、第1図に示したアービタの構成を説明する詳細ブロッ
ク図、第4図は、第1図に示したアービタの周辺回路構
成を説明するブロック図、第5図、第6図は、第1図に
示したサブCPUの立ち上げ処理手順の一例を説明する
フローチャート、第7図はバス幅調整デバイスとDMA
l10デバイスとの接続関係を説明するブロック図、第
8図は、第3図(a)〜(h〉の動作を説明するタイミ
ングヂャート、第9図(a)〜(c)はこの発明に係る
情報処理装置におCづるカーソル/ウィンド処理手順の
一例を説明するフローチャート、第10図(a)、(b
)はこの発明に係る情報処理装置におけるサブCPUと
メインCPUによるドラッギング処理手順の一例を説明
するフローチャート、第11図(a)、(b)はこの発
明に係る・トl報処理装置に46けるポツプアップメニ
ュー表示処理手順の一例を説明するフローチャートであ
る。
図中、9はサブCPU、13はメモリコントローラ、1
4はアービタ、16,37.40はバス幅調整デバイス
、31はDRAM、32はDMAC133はメイ、ンC
PU、3Bは5CSIインタフエースである。
(a)
サブCPU
カーソル表示プロセス
第
【
(b)
サブCP
通信割込ツ
(C)
メインCPU
ウィンドウ 書換えブ叶ス
(a)
第
0
図
(b)FIG. 1 is a system block diagram illustrating the configuration of an information processing device showing an embodiment of the present invention, and FIG. 2 shows an example of inversion processing of the most significant bit of the address line of the sub CPU shown in FIG. 3(a) to (h) are detailed block diagrams explaining the configuration of the arbiter shown in FIG. 1, and FIG. 4 shows the peripheral circuit configuration of the arbiter shown in FIG. 5 and 6 are flowcharts illustrating an example of the sub-CPU start-up processing procedure shown in FIG. 1, and FIG. 7 is a block diagram illustrating the bus width adjustment device and DMA
110 device, FIG. 8 is a timing chart explaining the operation of FIGS. 3(a) to (h), and FIGS. 9(a) to (c) are diagrams illustrating the operation of FIGS. Flowcharts illustrating an example of cursor/window processing procedures for the information processing apparatus, FIGS. 10(a) and 10(b)
) is a flowchart explaining an example of the dragging processing procedure by the sub CPU and the main CPU in the information processing device according to the present invention, and FIGS. 3 is a flowchart illustrating an example of a pop-up menu display processing procedure. In the figure, 9 is a sub CPU, 13 is a memory controller, 1
4 is an arbiter, 16, 37.40 is a bus width adjustment device, 31 is a DRAM, 32 is a DMAC 133 is a main circuit.
PU and 3B are 5CSI interfaces. (a) Sub CPU cursor display process (b) Sub CPU communication interrupt (C) Main CPU window rewrite bus (a) Figure 0 (b)
Claims (1)
コントローラが接続され、ダイレクトメモリアクセスコ
ントローラおよび前記CPUからの前記システムバスに
対するバス権要求をアービタが調停しながら前記ダイレ
クトメモリアクセスコントローラによる各ダイレクトメ
モリアクセスデバイスとのダイレクトメモリアクセスま
たはCPUによる各ダイレクトメモリアクセスデバイス
間のアクセスを実行可能な情報処理装置において、リー
ドモディファイドライトモード中または出力バスからの
応答が存在し、かつ入力バスで読出しと書込みのモード
切換え時に出力のバスサイクルを一時中断しながらバス
サイクルを再開するバスサイクル制御手段を具備したこ
とを特徴とする情報処理装置。A CPU and a direct memory access controller are connected to a system bus, and an arbiter arbitrates bus rights requests from the direct memory access controller and the CPU to the system bus, and the direct memory access controller directly communicates with each direct memory access device. In an information processing device that can perform memory access or access between each direct memory access device by the CPU, when there is a read modified write mode or a response from the output bus, and when the input bus switches between read and write modes, the output An information processing device comprising a bus cycle control means for restarting a bus cycle while temporarily suspending the bus cycle.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP31884289A JPH03180958A (en) | 1989-12-11 | 1989-12-11 | Information processor |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP31884289A JPH03180958A (en) | 1989-12-11 | 1989-12-11 | Information processor |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH03180958A true JPH03180958A (en) | 1991-08-06 |
Family
ID=18103568
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP31884289A Pending JPH03180958A (en) | 1989-12-11 | 1989-12-11 | Information processor |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH03180958A (en) |
-
1989
- 1989-12-11 JP JP31884289A patent/JPH03180958A/en active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6247084B1 (en) | Integrated circuit with unified memory system and dual bus architecture | |
| KR100450980B1 (en) | Data processor and graphics processor | |
| JP3579461B2 (en) | Data processing system and data processing device | |
| US5845327A (en) | Cache coherency where multiple processors may access the same data over independent access paths | |
| US5163143A (en) | Enhanced locked bus cycle control in a cache memory computer system | |
| JPH0877347A (en) | Data processor for image/graphics processing and its operating method | |
| US6272583B1 (en) | Microprocessor having built-in DRAM and internal data transfer paths wider and faster than independent external transfer paths | |
| JP3504266B2 (en) | Enhanced parallel port | |
| JPH0792962A (en) | Port-address input / output priority architecture | |
| US5471672A (en) | Method for implementing a high speed computer graphics bus | |
| JP2001184300A (en) | Data processing processor | |
| US6373493B1 (en) | Hardware graphics accelerator having access to multiple types of memory including cached memory | |
| JP4042088B2 (en) | Memory access method | |
| US6938118B1 (en) | Controlling access to a primary memory | |
| JP3683657B2 (en) | Graphics display device and graphics processor | |
| JPH0863587A (en) | Data processor with control device of transmissivity-detection data transmission and its operatingmethod | |
| JPH08180012A (en) | Computer system | |
| JP2665836B2 (en) | Liquid crystal display controller | |
| JPH03180955A (en) | Information processor | |
| JPH03180956A (en) | Information processor | |
| JP3610029B2 (en) | Data processing system | |
| JPH03180957A (en) | information processing equipment | |
| JP4137903B2 (en) | Graphics display device and graphics processor | |
| JPH03138771A (en) | information processing equipment | |
| JP3454113B2 (en) | Graphics display |