Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPH0690671B2 - How to access I/O devices - Google Patents
[go: Go Back, main page]

JPH0690671B2 - How to access I/O devices - Google Patents

How to access I/O devices

Info

Publication number
JPH0690671B2
JPH0690671B2 JP62231826A JP23182687A JPH0690671B2 JP H0690671 B2 JPH0690671 B2 JP H0690671B2 JP 62231826 A JP62231826 A JP 62231826A JP 23182687 A JP23182687 A JP 23182687A JP H0690671 B2 JPH0690671 B2 JP H0690671B2
Authority
JP
Japan
Prior art keywords
interrupt
input
interrupt processing
output
address
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.)
Expired - Fee Related
Application number
JP62231826A
Other languages
Japanese (ja)
Other versions
JPS6474650A (en
Inventor
紀子 桑本
金一郎 増田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP62231826A priority Critical patent/JPH0690671B2/en
Publication of JPS6474650A publication Critical patent/JPS6474650A/en
Publication of JPH0690671B2 publication Critical patent/JPH0690671B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)

Description

【発明の詳細な説明】 概要 直接記憶アクセス方式をとるコンピュータシステムの入
出力装置のアクセス方法に関し、 高速な入出力処理ができる入出力装置のアクセス方法を
提供することを目的とし、 応用プログラムからの入出力要求により、物理入出力命
令をチャネル装置に発行し、チャネル装置からの割込み
により、割込みベクタテーブルを参照して、該当レベル
の割込み処理ルーチンに制御を渡し、割込み処理ルーチ
ンで装置管理テーブルを参照して割込み処理部を起動す
るようにした直接記憶アクセス方式をとるコンピュータ
システムの入出力装置のアクセス方法において、割込み
処理部で、割込みベクタテーブルの該当レベルの割込み
処理ルーチンのアドレスを、現在実行中の割込み処理部
の先頭アドレスに書換え、チャネル装置からの割込みに
より、割込み処理部に直接制御を渡し、入出力処理の完
了と同時に割込みベクタテーブルの該当レベルのアドレ
スを元の割込み処理ルーチンのアドレスに復元して構成
する。
[Detailed Description of the Invention] Overview The object of this invention is to provide an access method for an input/output device of a computer system employing a direct memory access method, in which a physical input/output command is issued to a channel device in response to an input/output request from an application program, an interrupt from the channel device is received, an interrupt vector table is referenced, control is passed to an interrupt processing routine of the relevant level, and the interrupt processing routine is referenced to a device management table to start an interrupt processing unit. In this access method for an input/output device of a computer system employing a direct memory access method, the interrupt processing unit rewrites the address of the interrupt processing routine of the relevant level in the interrupt vector table to the top address of the interrupt processing unit currently being executed, and in response to an interrupt from the channel device, control is passed directly to the interrupt processing unit, and simultaneously with the completion of the input/output processing, the address of the relevant level in the interrupt vector table is restored to the address of the original interrupt processing routine.

産業上の利用分野 本発明は直接記憶アクセス方式をとるコンピュータシス
テムの入出力装置のアクセス方法に関する。
FIELD OF THEINVENTION The present invention relates to a method for accessing an input/output device of a computer system that employs a direct memory access method.

コンピュータシステムを効率良く利用しようとする時、
問題となるのが演算とフロッピーディスク等の入出力装
置の動作時間のアンバランスである。セントラル・プロ
セッサ・ユニット(以下CPUという)の処理速度に対し
て入出力動作は機械的な動作を伴うため著しく遅い。こ
れによりプログラムの実行途中に入出力命令があるとCP
Uが遊んでしまうため、CPUとは機能的に独立したチャネ
ル装置等を設けた直接記憶アクセス方式をとるシステム
が広く利用されている。CPUは入出力動作の開始をチャ
ネル装置等に指示すると、チャネル装置等からの入出力
完了割込みがあるまで他の命令を取出して実行するの
で、CPUが遊んでしまうことがなく、効率の良い処理が
行える。
When trying to use a computer system efficiently,
The problem is the imbalance in the operation time between calculations and input/output devices such as floppy disks. Input/output operations are extremely slow compared to the processing speed of the central processor unit (hereafter referred to as CPU) because they involve mechanical operations. This means that if there is an input/output command in the middle of a program execution, the CPU
Because U becomes idle, systems that use a direct memory access method that has a channel device or the like that is functionally independent of the CPU are widely used. When the CPU instructs the channel device to start an I/O operation, it takes out and executes other instructions until there is an I/O completion interrupt from the channel device, so the CPU does not become idle and processing can be performed efficiently.

また、消防設備の出動管理システムや座席予約システム
等のように遠方で発生したデータを受けて即時に処理
し、結果を送り帰すリアルタイムシステム等において
は、応答時間(レスポンスタイム)に対する要求が厳し
く、前記のチャネル装置等からの割込み後の処理等の入
出力処理の効率化及び高速化が要求されている。
Furthermore, in real-time systems such as firefighting equipment dispatch management systems and seat reservation systems, which receive data generated at a remote location, process it instantly, and send back the results, there are strict requirements for response time, and there is a demand for more efficient and faster input/output processing, such as processing after an interrupt from the channel devices mentioned above.

従来の技術 従来の直接記憶アクセス方式をとるコンピュータシステ
ムの入出力装置のアクセス方法を第2図に示す。
2. Description of the Prior Art FIG. 2 shows a method of accessing an input/output device in a computer system employing a conventional direct memory access method.

応用プログラム10が入出力装置12を使用するときは、OS
(オペレーティング・システム)の各タスクのスケジュ
ール管理を行なっているスケジュール管理部14を介して
入出力実行部16に対して、入出力要求18を発行する。入
出力実行部16は、発行された入出力要求18に対し、入出
力装置12の状態を調べ、その入出力装置12が他のタスク
によって使用中であればこれを持たせ、使用可能であれ
ば、物理入出力命令20を入出力装置12を制御するチャネ
ル装置22に発行し、入出力動作を起動する。
When the application program 10 uses the I/O device 12, the OS
An I/O request 18 is issued to an I/O execution unit 16 via a schedule management unit 14 which manages the schedules of each task in the operating system. The I/O execution unit 16 checks the status of the I/O device 12 in response to the issued I/O request 18, and if the I/O device 12 is being used by another task, it is allowed to use it, and if it is available, it issues a physical I/O command 20 to a channel device 22 which controls the I/O device 12, thereby starting the I/O operation.

チャネル装置22は入出力装置と主記憶装置間でデータを
所定の単位(フロッピーディスク等においては512,1024
バイト等、端末やラインプリンタ等においては1文字
等)で転送し、転送が終了すると割込み信号24をCPUに
送ると共に、割込みの各レベルに対応する割込み処理ル
ーチン26のアドレス28等が記憶されている割込みベクタ
テーブル30を参照して、該当レベルの割込み処理ルーチ
ン26に制御を渡す(矢印32)。
The channel device 22 transfers data between the input/output device and the main memory in a predetermined unit (512, 1024 for floppy disks, etc.).
When the transfer is completed, an interrupt signal 24 is sent to the CPU, and control is passed to the interrupt processing routine 26 of the relevant level by referring to an interrupt vector table 30 in which addresses 28 of interrupt processing routines 26 corresponding to each interrupt level are stored (arrow 32).

割込み処理ルーチン26では、各入出力装置あるいはグル
ープ化した入出力装置毎に割込みレジスタのアドレスや
割込み処理部のアドレス等が記憶されている装置管理テ
ーブルを参照して、割込み処理部34を起動する(矢印3
6)。割込み処理部34では割込みレジスタのクリア等の
割込みに対する処理37を行い、応用プログラム10の入出
力要求18に対する入出力が完了しているか否かをチェッ
クして、完了している場合は入出力完了待ち状態にある
入出力実行部16に完了を通知する(矢印38)。次に、制
御を割込み処理ルーチン26に戻し(矢印40)、割込み処
理ルーチン26からスケジュール管理部14へ復帰する(矢
印42)。スケジュール管理部14では、この入出力処理と
実行待ちの他のタスクとの優先度を調べ、入出力処理の
優先度が高ければ再び入出力実行部16に制御を渡す。
In the interrupt processing routine 26, an interrupt processing unit 34 is started by referring to a device management table in which the addresses of the interrupt registers and the addresses of the interrupt processing units are stored for each I/O device or for each group of I/O devices (arrow 3).
6). The interrupt processing unit 34 performs processing 37 for the interrupt, such as clearing the interrupt register, and checks whether the I/O for the I/O request 18 of the application program 10 has been completed. If it has been completed, it notifies the I/O execution unit 16, which is waiting for the completion of the I/O, of the completion (arrow 38). Next, control is returned to the interrupt processing routine 26 (arrow 40), and the interrupt processing routine 26 returns to the schedule management unit 14 (arrow 42). The schedule management unit 14 checks the priority of this I/O processing relative to other tasks waiting to be executed, and if the priority of the I/O processing is higher, it passes control back to the I/O execution unit 16.

入出力実行部16では、入出力完了が通知されているか否
かを調べ、通知されていたら応用プログラムに完了を通
知し(矢印44)、入出力完了が通知されていなければ再
度物理入出力命令20をチャネル装置22に発行し、以下同
様の処理過程を経て応用プログラム10からの入出力要求
18に対する入出力が完了するまでこれらの処理を繰返す
ことにより、入出力処理が実行されるようになってい
る。
The I/O execution unit 16 checks whether I/O completion has been notified, and if so, notifies the application program of completion (arrow 44). If I/O completion has not been notified, the I/O execution unit 16 again issues a physical I/O command 20 to the channel device 22, and the same processing steps are then carried out to fulfill the I/O request from the application program 10.
The input/output process is executed by repeating these steps until the input/output to the host 18 is completed.

発明が解決しようとする問題点 しかし、上述したような従来の直接記憶アクセス方式を
とるコンピュータシステムの入出力装置のアクセス方法
では、装置管理テーブルの参照等の割込み処理ルーチン
における処理に時間がかかり、入出力処理が遅いという
問題点があった。
Problems that the Invention is intended to Solve However, in the method of accessing input/output devices in a computer system that uses the conventional direct memory access method described above, there was a problem that processing in interrupt processing routines, such as referencing the device management table, took time, making input/output processing slow.

本発明はこのような点に鑑みて、成されたものであり、
その目的とするところは、高速な入出力処理ができる入
出力装置のアクセス方法を提供することである。
The present invention has been made in view of the above points,
The object is to provide a method of accessing an input/output device which enables high-speed input/output processing.

問題点を解決するための手段 第1図は本発明の直接記憶アクセス方式をとるコンピュ
ータシステムの入出力装置のアクセス方法の原理図であ
る。
Means for Solving the Problems FIG. 1 is a diagram showing the principle of an access method for an input/output device of a computer system employing a direct memory access method according to the present invention.

応用プログラム50が入出力装置52を使用するときは、OS
の各タスクのスケジュール管理を行なっているスケジュ
ール管理部54を介して入出力実行部56に対して、入出力
要求58を発行する。入出力実行部56は、発行された入出
力要求58に対し、入出力装置52の状態を調べ、その入出
力装置52が他のタスクによって使用中であればこれを待
たせ、使用可能であれば、物理入出力命令60を入出力装
置52を制御するチャネル装置62に発行し、入出力動作を
起動する。
When the application program 50 uses the I/O device 52, the OS
An I/O request 58 is issued to an I/O execution unit 56 via a schedule management unit 54 which manages the schedule of each task. In response to the issued I/O request 58, the I/O execution unit 56 checks the status of the I/O device 52, and if the I/O device 52 is being used by another task, it puts it on hold, and if it is available, it issues a physical I/O command 60 to a channel device 62 which controls the I/O device 52, thereby starting the I/O operation.

チャネル装置62は入出力装置と主記憶装置間でデータを
所定の単位(フロッピーディスク等においては512,1024
バイト等、端末やラインプリンタ等においては1文字
等)で転送し、転送が終了すると割り込み信号64をCPU
に送ると共に、割込みの各レベルに対応する割込み処理
ルーチン66のアドレス68等が記憶されている割込みベク
タテーブル70を参照して、該当レベルの割込み処理ルー
チン66に制御を渡す(矢印72)。割込み処理ルーチン66
では、各入出力装置あるいはグループ化した入出力装置
毎に割込みレジスタのアドレスや割込み処理部のアドレ
ス等が記憶されている装置管理テーブルを参照して、入
出力装置に対応した割込み処理部74を起動する(矢印7
6)。割込み処理部74ではまず、割込みベクタテーブル7
0の該当レベルの割込み処理ルーチン66のアドレス68
を、現在実行中の割込み処理部74の先頭アドレスに書換
え(78参照)、割込みレジスタのクリア等の割込みに対
する処理(80参照)を行い、応用プログラム50による入
出力要求58に対する入出力処理が完了しているか否かを
チェックして、完了している場合は、割込みベクタテー
ブル70の該当アドレス68を元の割込み処理ルーチン66の
アドレスに復元して(82参照)、入出力完了待ち状態に
ある入出力実行部56に完了を通知する(矢印84)。次
に、制御を割込み処理ルーチン66に渡し(矢印86)、割
込み処理ルーチン66からスケジュール管理部54へ復帰す
る(矢印88)。スケジュール管理部54では、この入出力
処理と実行待ちの他のタスクとの優先度を調べ、この入
出力処理の優先度が高ければ再び入出力実行部56に制御
を渡す。
The channel device 62 transfers data between the input/output device and the main memory in a predetermined unit (512, 1024 for floppy disks, etc.).
When the transfer is complete, the CPU sends an interrupt signal 64 to the
At the same time, the CPU 11 refers to an interrupt vector table 70 in which addresses 68 of interrupt processing routines 66 corresponding to each interrupt level are stored, and passes control to the interrupt processing routine 66 of the corresponding level (arrow 72).
Then, the interrupt processor 74 corresponding to the I/O device is started by referring to a device management table in which the addresses of the interrupt registers and the addresses of the interrupt processors are stored for each I/O device or for each group of I/O devices (arrow 7).
6). The interrupt processing unit 74 first checks the interrupt vector table 7
Address 68 of interrupt processing routine 66 of level 0
to the top address of the currently executing interrupt processing unit 74 (see 78), performs processing for the interrupt such as clearing the interrupt register (see 80), checks whether the I/O processing for the I/O request 58 by the application program 50 is complete, and if it is complete, restores the corresponding address 68 in the interrupt vector table 70 to the address of the original interrupt processing routine 66 (see 82), and notifies the I/O execution unit 56, which is waiting for the completion of the I/O, of the completion (arrow 84). Next, control is passed to the interrupt processing routine 66 (arrow 86), and the interrupt processing routine 66 returns to the schedule management unit 54 (arrow 88). The schedule management unit 54 checks the priority of this I/O processing relative to other tasks waiting to be executed, and if the priority of this I/O processing is higher, passes control back to the I/O execution unit 56.

入出力実行部56では、入出力完了が通知されているか否
かを調べ、通知されていたら応用プログラム50に完了を
通知し(矢印90)、入出力完了が通知されていなければ
再度物理入出力命令60をチャネル装置62に発行する。
The I/O execution unit 56 checks whether or not I/O completion has been notified, and if so, notifies the application program 50 of completion (arrow 90), and if not, issues the physical I/O command 60 to the channel device 62 again.

チャネル装置62はCPUに割込み信号64を送り、割込みベ
クタテーブル70を参照すると、該当レベルのアドレスは
直前に実行した割込み処理部74の先頭アドレスに書換え
られているので、制御は割込み処理部74に渡される(矢
印92)。以下同様の処理を応用プログラム50からの入出
力要求58に対する入出力処理が完了するまで繰返し、入
出力処理を行うようにして、入出力処理の高速化を達成
する。
Channel device 62 sends interrupt signal 64 to the CPU, and when it refers to interrupt vector table 70, it finds that the address of the relevant level has been rewritten to the top address of interrupt processing unit 74 that executed immediately before, so control is passed to interrupt processing unit 74 (arrow 92). Similar processing is repeated thereafter until input/output processing for input/output request 58 from application program 50 is completed, thereby achieving high-speed input/output processing.

作用 本発明によれば、応用プログラムの入出力要求により処
理が行われ、割込み処理部で、割込みベクタテーブルの
該当レベルのアドレスを現在実行中の割込み処理部の先
頭アドレスに書換え、入出力完了時に元の割込み処理ル
ーチンのアドレスに戻すようにしたので、2回め以降の
処理の時に、入出力実行部で物理入出力命令を発行し、
チャネル装置で所定の処理が完了した後、割込みベクタ
テーブルを参照し制御を渡す際に、割込み処理ルーチン
を通らずに直接割込み処理部に制御が渡るので、割込み
処理ルーチンで実行される装置管理テーブルの参照等を
省略することができ、入出力処理の速度を向上すること
ができる。
According to the present invention, processing is performed in response to an I/O request from an application program, and the address of the corresponding level in the interrupt vector table is rewritten in the interrupt processing unit to the top address of the currently executing interrupt processing unit, and when the I/O is completed, the address is restored to the address of the original interrupt processing routine. Therefore, when the second or subsequent processing is performed, the I/O execution unit issues a physical I/O command,
After the channel device has completed a specified process, the control is handed over directly to the interrupt processing unit without going through the interrupt processing routine by referring to the interrupt vector table, so that reference to the device management table, which is executed in the interrupt processing routine, can be omitted, and the speed of input/output processing can be improved.

発明の効果 本発明は以上詳述したように構成したので、入出力処理
の一部の処理をスキップすることができ、入出力処理を
高速化することができるという効果を奏する。
EFFECT OF THE PRESENT DISCLOSURE The present invention is configured as described above in detail, and therefore has the effect of making it possible to skip a part of the input/output processing, thereby speeding up the input/output processing.

【図面の簡単な説明】[Brief description of the drawings]

第1図は本発明の原理説明図、 第2図は従来技術の説明図である。 10、50……応用プログラム、 12、52……入出力装置、 14、54……スケジュール管理部、 16、56……入出力実行部、 22、62……チャネル装置、 26、66……割込み処理ルーチン、 30、70……割込みベクタテーブル、 34、74……割込み処理部。1 is a diagram for explaining the principle of the present invention, and FIG. 2 is a diagram for explaining the prior art. 10, 50: application program, 12, 52: input/output device, 14, 54: schedule management section, 16, 56: input/output execution section, 22, 62: channel device, 26, 66: interrupt processing routine, 30, 70: interrupt vector table, 34, 74: interrupt processing section.

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】応用プログラム(50)からの入出力要求
(58)により、入出力実行部(56)で物理入出力命令
(60)をチャネル装置(62)に発行し、チャネル装置
(62)からの割込み(64)により、割込みベクタテーブ
ル(70)を参照して、該当レベルの割込み処理ルーチン
(66)に制御を渡し、割込み処理ルーチン(66)で装置
管理テーブルを参照して割込み処理部(74)を起動する
ようにした直接記憶アクセス方式をとるコンピュータシ
ステムの入出力装置のアクセス方法において、 割込み処理部(74)で、割込みベクタテーブル(70)の
該当レベルの割込み処理ルーチン(66)のアドレスを、
現在実行中の割込み処理部(74)の先頭アドレスに書換
え、チャネル装置(62)からの割込み(64)により、割
込み処理ルーチン(66)を介さずに割込み処理部(74)
に直接制御を渡すようにし、 入出力処理の完了と同時に割込みベクタテーブル(70)
の該当レベルのアドレスを元の割込み処理ルーチン(6
6)のアドレスに復元することを特徴とする入出力装置
のアクセス方法。
[Claim 1] A method for accessing an input/output device of a computer system employing a direct memory access method, in which an input/output execution unit (56) issues a physical input/output command (60) to a channel device (62) in response to an input/output request (58) from an application program (50), and an interrupt (64) from the channel device (62) refers to an interrupt vector table (70) to pass control to an interrupt processing routine (66) of a corresponding level, which in turn refers to a device management table to start an interrupt processing unit (74),
The address is rewritten to the top address of the currently executing interrupt processing unit (74), and the interrupt (64) from the channel device (62) is executed by the interrupt processing unit (74) without going through the interrupt processing routine (66).
The control is passed directly to the interrupt vector table (70) when the I/O process is completed.
The address of the corresponding level is transferred to the original interrupt processing routine (6
6) A method for accessing an input/output device, comprising:
JP62231826A 1987-09-16 1987-09-16 How to access I/O devices Expired - Fee Related JPH0690671B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62231826A JPH0690671B2 (en) 1987-09-16 1987-09-16 How to access I/O devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62231826A JPH0690671B2 (en) 1987-09-16 1987-09-16 How to access I/O devices

Publications (2)

Publication Number Publication Date
JPS6474650A JPS6474650A (en) 1989-03-20
JPH0690671B2 true JPH0690671B2 (en) 1994-11-14

Family

ID=16929624

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62231826A Expired - Fee Related JPH0690671B2 (en) 1987-09-16 1987-09-16 How to access I/O devices

Country Status (1)

Country Link
JP (1) JPH0690671B2 (en)

Also Published As

Publication number Publication date
JPS6474650A (en) 1989-03-20

Similar Documents

Publication Publication Date Title
US4394730A (en) Multi-processor system employing job-swapping between different priority processors
US4318174A (en) Multi-processor system employing job-swapping between different priority processors
JPH0690671B2 (en) How to access I/O devices
JPH01124042A (en) Line control system in virtual computer system
JPH05120039A (en) Task scheduling system
JPS603229B2 (en) Information processing method
JP2522162B2 (en) Terminal sharing control method in virtual machine system
JPS6239789B2 (en)
JPH0433130A (en) Multi-chip configuration method
JPS61143858A (en) How to share files under multiple operating systems
JPH0126093B2 (en)
JPS6346861B2 (en)
JPS59146387A (en) Stack control system of multiprocessing
JPH04274524A (en) System for controlling inter-process communication
JPS60167058A (en) System for communications between computers
JPH05342021A (en) Multitask computer
JPS6252900B2 (en)
JPH0922363A (en) Task constituting system
JPH02112057A (en) Data treatment method for on-line system
JPH0690698B2 (en) Channel device control method
JPS63170761A (en) Input/output controller for electronic computer
JPS6371735A (en) Multitasking operating system
JPS63245754A (en) Input/output control system for information processing system
JPH0452490B2 (en)
JPH03116335A (en) System for transferring from non-privileged cpu to privileged cpu

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees