JP2002099502A - Computer system and control method for data transfer - Google Patents

Computer system and control method for data transfer

Info

Publication number
JP2002099502A
JP2002099502A JP2000290939A JP2000290939A JP2002099502A JP 2002099502 A JP2002099502 A JP 2002099502A JP 2000290939 A JP2000290939 A JP 2000290939A JP 2000290939 A JP2000290939 A JP 2000290939A JP 2002099502 A JP2002099502 A JP 2002099502A
Authority
JP
Japan
Prior art keywords
mode
operation mode
cpu
address
disk
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2000290939A
Other languages
Japanese (ja)
Other versions
JP4155545B2 (en
Inventor
Shunichi Morisawa
俊一 森沢
Original Assignee
Toshiba Corp
株式会社東芝
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, 株式会社東芝 filed Critical Toshiba Corp
Priority to JP2000290939A priority Critical patent/JP4155545B2/en
Publication of JP2002099502A publication Critical patent/JP2002099502A/en
Application granted granted Critical
Publication of JP4155545B2 publication Critical patent/JP4155545B2/en
Application status is Expired - Fee Related legal-status Critical
Anticipated expiration legal-status Critical

Links

Abstract

PROBLEM TO BE SOLVED: To provide a computer system and a control method for data transfer capable of practicing data transfer with a hard disk drive and speeding up the reconversion from boot processing/hibernation. SOLUTION: A disk driver (INT 13 h) of BIOS checks the operation mode of a CPU 11 on which upper program was operating and judges as if it is virtual address mode or real mode (STEP S101, S102). In case of virtual address mode (V86 mode), BIOS practices data transfer with HDD by PIO transfer mode (STEP S103). And, in case of real mode, BOIS calculates physical memory address with a segment that is set in a CPU register and offset, and sets it as transfer address to a by master IDE controller 16, and practices data transfer with HDD by in a DMA transfer mode (STEP S104).

Description

【発明の詳細な説明】 DETAILED DESCRIPTION OF THE INVENTION

【0001】 [0001]

【発明の属する技術分野】本発明はコンピュータシステムおよび同システムで使用されるデータ転送制御方法に関し、特にディスク装置との間のデータ転送を効率よく実行できるように改良されたコンピュータシステムおよびデータ転送制御方法に関する。 The present invention relates to relates to a data transfer control method for use in a computer system and the system, in particular improved computer systems and data transfer control to be able to run efficiently transfer data between the disk apparatus a method for.

【0002】 [0002]

【従来の技術】近年、携帯可能なノートブックタイプまたはサブノートタイプの携帯型パーソナルコンピュータや、携帯情報端末などのポケットコンピュータが種々開発されている。 In recent years, the portable notebook or sub-notebook and portable personal computers, pocket computers, such as portable information terminals have been developed.

【0003】この種の携帯型コンピュータは、バッテリ駆動可能な時間を延ばすために、コンピュータシステムの電力を節約するための種々のパワーセーブモードが設けられている。 [0003] This type of portable computer, in order to extend the battery time available, are provided various power save mode for saving power of a computer system. サスペンドモードは、最も電力消費の少ないパワーセーブモードの1つである。 Suspend mode is one of a small power save mode most power. すなわち、コンピュータシステムがサスペンドモードの時は、オペレーティングシステムやユーザプログラムなどの再スタートに必要なシステムデータが記憶されている主メモリを除く、システム内の他のほとんどのデバイスはパワーオフされる。 That is, the computer system when the suspend mode, except for the main memory of the system data necessary for restarting such as operating systems and user programs are stored, most other devices in the system is powered off.

【0004】主メモリにセーブされるシステムデータは、コンピュータシステムがサスペンドモードに設定される直前のCPUのステータスおよび各種周辺LSIのステータスである。 [0004] The system data to be saved in the main memory is a status and the status of various peripheral LSI of the CPU immediately before the computer system is set in the suspend mode. また、この主メモリには、オペレーティングシステムおよびアプリケーションプログラムの実行状態やそのアプリケーションプログラムによって作成されたユーザデータも記憶されている。 Further, this main memory, the user data is also stored which is created by the operating system and application program execution status or the application program. 主メモリにセーブされた情報は、サスペンドモード直前の作業状態を復元するために用いられる。 Information saved in the main memory is used to restore the working state of the suspend mode last.

【0005】システムデータのセーブは、システムBI [0005] of the system data save, the system BI
OS(基本入出力プログラム)に組み込まれたサスペンドルーチンによって実行される。 Executed by the Suspend Routine incorporated in OS (basic input output program). システムBIOSはオペレーティングシステムからの要求にしたがってシステム内のハードウェアを制御するためのものであり、システム内の各種ハードウェアデバイスを制御するデバイスドライバ群を含んでいる。 System BIOS is for controlling the hardware in the system in response to a request from the operating system includes a device driver that control various hardware devices in the system. システムBIOSのサスペンドルーチンは、システムの電源オフ時などに起動され、 Suspend routine of the system BIOS is activated, such as when the system power is turned off,
CPUのレジスタおよび各種周辺LSIのステータスをメモリにセーブした後、システムをパワーオフする。 After saving the status registers of the CPU and various peripheral LSI in the memory, power off the system.

【0006】主メモリへの電源供給は、システムがパワーオフの期間中ずっとバッテリによって維持される。 [0006] The power supply to the main memory, the system is maintained by throughout the battery during the period of the power off. このため、システムのステータスおよびユーザデータは消失されることなく、サスペンド前の作業状態にシステムを高速に戻すことができる。 Therefore, the status and user data of the system without being lost, it is possible to return the system to a high speed working state before the suspend.

【0007】ところが、もしシステムがサスペンドモード状態の時にバッテリの容量が低下してローバッテリ状態となると、主メモリ内のデータは消失される。 [0007] However, if the system becomes a low battery level capacity of the battery is lowered when the suspend mode state, the data in the main memory is lost. この場合、サスペンド前の状態にシステムを戻すことができ無くなるばかりか、主メモリに展開されているユーザデータも消失されてしまう。 In this case, not only eliminated can return the system to the state before the suspend, would also be lost user data expanded in the main memory.

【0008】そこで、最近では、サスペンドモードに代わる新たなパワーセーブモードとして、ハイバネーションが使用され始めている。 [0008] Therefore, in recent years, as a new power-saving mode to replace the suspend mode, hibernation is beginning to be used. ハイバネーションは、システム電源オフ時にCPUおよび各種周辺LSIのステータス、および主メモリの内容などをハードディスクにセーブした後に主メモリを含むシステム内のほとんどすべてのデバイスをパワーダウンさせるモードであり、サスペンドモードよりも電力消費を低減できる。 Hibernation, the system power off CPU and various peripheral LSI status during, and is a such as the contents of main memory mode to the power down almost all the devices in the system including a main memory after saving the hard disk, than suspend mode the power consumption can be reduced. また、バッテリ容量が低下してもハードディスクにセーブした情報は消失されないので、システム状態をハイバネーション処理直前の状態に正常に復元することができる。 The information the battery capacity is saved to the hard disk even decreased because it is not lost, it is possible to successfully restore the system state to a state of hibernation process immediately before. したがって、ACアダプタを使用できない外出先での使用が多い携帯型コンピュータの多くは、ハイバネーションをパワーセーブモードとして実装している。 Therefore, the use of on the go you can not use the AC adapter is a lot of many portable computers, have implemented hibernation as a power save mode.

【0009】ところで、近年のオペレーティングシステムおよびアプリケーションプログラムの機能向上に伴い、携帯型コンピュータにおいても、その主メモリとして実装されるメモリ容量は増大する一途にある。 By the way, with the improvements of recent operating systems and application programs, even a portable computer, a memory capacity that is implemented as the main memory is in a steadily increasing. 主メモリの記憶容量が増えると、その分、主メモリの内容をハードディスクにセーブするのに要する時間、およびハードディスクの内容を主メモリにリストアするのに要する時間も増大する。 When the storage capacity of the main memory is increased, correspondingly, the time required contents of main memory to save the hard disk, and also increases the time required to restore the contents of the hard disk to the main memory. このため、ハイバネーションモードを使用するシステムでは、ハイバネーション処理に要する時間、つまりユーザが電源スイッチをオフしてからシステムが実際にパワーオフされるまでに要する時間、およびユーザが電源スイッチをオンしてからシステム状態が復元されるまでに要する時間が非常に大きくなりつつある。 Thus, from a system that uses a hibernation mode, the time required for the hibernation processing, i.e. by on-time, and user power switch required for the user system after turning off the power switch is actually powered off time required for the system state is restored is becoming very large.

【0010】また、従来では、BIOSを介したハードディスク装置との間のデータ入出力動作は常にPIO Further, conventionally, always data input and output operations between the hard disk drive via the BIOS PIO
(Programmed Input/Output)モードによって行われていた。 It was done by (Programmed Input / Output) mode.

【0011】すなわち、携帯型コンピュータでは、ハードディスクドライブの接続に使用されるインターフェイスとして、ATA(Enhanced IDE)が使用されている。 [0011] That is, in the portable computer, as the interface to be used to connect hard disk drive, ATA (Enhanced IDE) has been used. このEnhanced IDEで用いられている典型的な転送モードが前述のPIOモードである。 Typical transfer mode is used in this Enhanced IDE is the PIO mode described above. ATAでは、PIOモード0〜4まで定義されており、それぞれ最大転送速度が異なっている。 In ATA, are defined to PIO mode 0-4, the maximum transfer rate respectively are different. PIOモードとは、CPUとハードディスクドライブとのハンドシェイクを用いた転送モードであり、CPUが直接ハードディスクドライブのI/Oポートを繰り返しアクセスすることによってデータ転送を行う。 PIO mode is a transfer mode using a handshake with the CPU and the hard disk drive performs data transfer by the CPU accesses repeatedly I / O ports directly hard disk drive. よって、その転送速度は決して高速ではないが、シーク動作やスピンドルの回転といった機械的動作を必要とするハードディスクドライブ自体のデータ転送能力を考慮すると、この転送方式で十分であったのである。 Therefore, although not at that transfer rate never fast, considering the data transfer capacity of the hard disk drive itself requiring mechanical operation such as rotation of the seek operation and the spindle is of a sufficient in this transfer method.

【0012】しかし、最近では、ハードディスクの高密度化が急速に進み、これに伴ってハードディスク自体のデータ転送能力も大幅に向上しており、PIOモード4 [0012] However, in recent years, high density hard disk progresses rapidly, has also greatly improved the data transfer capacity of the hard disk itself Along with this, PIO Modes 4
に加え、現在ではDMAモード、さらにはUltraD In addition, the current in the DMA mode, and more UltraD
MAモードに対応したディスクインターフェースを持つものが主流となっている。 Those with a disk interface that corresponds to the MA mode has become mainstream. このため、常にPIOモードのみを使用してディスク装置との間のデータ入出力を行うという従来のBIOSによるデータ転送方法では、ディスク装置の性能を十分に引き出すことが出来ないという問題が生じる。 Therefore, always the data transfer method according to the conventional BIOS that using only PIO mode performs data input and output between the disk apparatus, a problem that can not be drawn performance of the disk device sufficiently occur.

【0013】 [0013]

【発明が解決しようとする課題】しかし、オペレーティングシステムなどの上位プログラムからBIOSのディスクアクセスルーチン(INT13h)がコールされた時に、常にDMA転送を用いてデータ転送を行うようにすると、その時のCPUの動作モードによっては重大なエラーが引き起こされる危険がある。 [SUMMARY OF THE INVENTION] However, from an upper program such as an operating system when the BIOS disk access routines (INT13h) is called, when all times to perform the data transfer with a DMA transfer, at that time the CPU by mode of operation there is a risk of a serious error is caused.

【0014】すなわち、DMA転送(DMAモードまたはUltraDMA)を実行する場合には、CPUのアドレス変換機構を用いるのではなく、BIOS自体が転送先/転送元となる物理メモリアドレスを算出して、それを転送元/転送先メモリアドレスとしてバスマスタI [0014] That is, when performing a DMA transfer (DMA mode or UltraDMA), rather than using the address translation mechanism of the CPU, calculates the physical memory address BIOS itself is forwarded / transfer source, it bus master I as a transfer source / destination memory address
DEコントローラなどのDMA制御ロジックに設定することが必要となる。 It is necessary to set the DMA control logic, such as DE controllers. DMA転送では、メモリアクセスはCPUではなく、バスマスタIDEコントローラなどのDMA制御ロジックによって実行されるからである。 The DMA transfer, the memory access is the CPU, not because executed by the DMA control logic, such as bus master IDE controller. ところが、実際には物理メモリアドレスの算出方法はCP However, the method of calculating the physical memory address is actually CP
Uの動作モード(リアルモード、仮想アドレスモード) U mode of operation of the (real mode, virtual address mode)
によって異なる。 By different.

【0015】すなわち、リアルモードでは、セグメント×16+オフセット=物理メモリアドレスという計算によってセグメントおよびオフセットから物理アドレスへの変換が行われるが、V86モードやプロテクトモードなどの仮想アドレスモードでは、ディスクプリタテーブルと称される仮想アドレス変換テーブルを参照することが必要となる。 [0015] That is, in the real mode, but the conversion to the physical address is made from the segment and offset by the calculation of segments × 16 + offset = physical memory address, the virtual address mode, such as V86 mode or protected mode, and the disk pre-data table may refer to designated virtual address conversion table is required. ディスクプリタテーブルの参照には特権レベルが必要であり、通常は、オペレーティングシステム以外の他のプログラム(BIOSを含む)はそれをアクセスすることはできない。 The reference disk pre data table is required privilege level, typically, (including BIOS) other programs other than the operating system can not access it.

【0016】したがって、もしBIOSがCPUの動作モードに関係なく常にセグメント×16+オフセット= [0016] Thus, if BIOS regardless is the operating mode of the CPU always segments × 16 + offset =
物理メモリアドレスという計算によって物理メモリアドレスを計算して、それを用いてDMA転送のための処理を開始すると、CPUが仮想アドレスモード(例えばV Calculates the physical memory address by the calculation of physical memory addresses, starts a process for DMA transfer therewith, CPU virtual address mode (e.g. V
86モード)であった場合には誤った物理メモリアドレスが算出されてしまい、結果的に誤動作を引き起こすことになる。 86 mode) is a cause is incorrect physical memory address is calculated in the case were, would cause the results to malfunction.

【0017】本発明は上述の事情に鑑みてなされたものであり、CPUの動作モードを考慮してDMA転送モードの実行条件を決定できるようにし、動作の信頼性が高く、しかも十分にディスク装置との間のデータ転送効率の向上を図ることが可能なコンピュータシステムおよびデータ転送制御方法を提供することを目的とする。 The present invention has been made in view of the above circumstances, to be able to determine the execution condition of the DMA transfer mode in consideration of the operation mode of the CPU, reliable operation, yet sufficiently disk device and to provide a computer system and a data transfer control method capable of improving the data transfer efficiency between the.

【0018】 [0018]

【課題を解決するための手段】上述の課題を解決するため、本発明は、セグメントおよびオフセットから物理メモリアドレスを計算する第1動作モードと、前記セグメントおよびオフセットを含む仮想アドレスと仮想アドレス変換テーブルとを用いて物理メモリアドレスを計算する第2動作モードとを有するCPUを備えたコンピュータシステムにおいて、前記コンピュータシステムに設けられたディスク装置に対するアクセスが上位プログラムから要求された場合、前記CPUの現在の動作モードが前記第1動作モードおよび前記第2動作モードのいずれであるかを判別する動作モード判別手段と、前記動作モード判別手段によって前記CPUの現在の動作モードが前記第1動作モードであると判別された場合、前記CP Means for Solving the Problems] To solve the problems described above, the present invention has a first operation mode to calculate the physical memory address from the segment and offset, the virtual address and the virtual address translation table including the segment and offset DOO in a computer system having a CPU and a second operation mode to calculate the physical memory address by using, when the access to the disk device provided in the computer system is requested from the host program, the current of the CPU an operation mode determination means operating mode to determine which one of the first operation mode and the second operation mode, the current operating mode of the CPU by the operation mode determining means is in the first operating mode If it is determined, the CP
Uのレジスタにセットされている前記セグメントおよびオフセットから物理メモリアドレスを算出し、その算出した物理メモリアドレスおよび前記CPUの別のレジスタにセットされているディスクアドレスを用いて、前記上位プログラムから要求された前記ディスク装置との間のデータ転送をDMA転送によって実行するディスクアクセス制御手段とを具備することを特徴とする。 Calculates the physical memory address from the segment and offset are set in the register of the U, with the disc address set in another register of the calculated physical memory address and the CPU, it is requested from the higher-level program and characterized by comprising a disk access control means for performing data transfer by the DMA transfer between the disk device.

【0019】このコンピュータシステムにおいては、ディスク装置に対するアクセスが上位プログラムから要求された場合、そのときのCPUの動作モードが判別され、セグメントおよびオフセットから物理メモリアドレスを直接的に計算できる第1動作モードであることことを条件に、DMA転送のための処理が実行される。 [0019] In this computer system, if the access to the disk apparatus is requested from the host program, it is determined that the operation mode of the CPU at that time, the first operation mode that can directly calculate the physical memory address from the segment and offset it is at the condition, processing for DMA transfer is executed. よって、誤った物理メモリアドレスの算出などの不具合を招くことなく、ディスク装置とメモリとの間のデータ転送を効率よく実行することが可能となり、通常のディスク入出力動作のみならず、オペレーティングシステムのブートストラップ処理、およびハイバネーションからの復帰処理の高速化を図ることが可能となる。 Therefore, without causing problems such as erroneous calculation of the physical memory address, it is possible to efficiently perform data transfer between the disk device and the memory, not normal disk input and output operations only, the operating system it is possible to increase the speed of return processing from bootstrapping, and hibernation.

【0020】前記ディスクアクセス制御手段は、前記動作モード判別手段によって前記CPUの現在の動作モードが前記第2動作モードであると判別された場合には、 [0020] The disk access control unit, when the current operation mode of the CPU is determined to be the second operation mode by the operation mode determining means,
前記CPUに前記ディスク装置に対するアクセスを繰り返し実行させるPIO転送モードによって、前記上位プログラムから要求された前記ディスク装置との間のデータ転送を実行するように構成することが好ましい。 By PIO transfer mode to repeatedly execute access to the disk device to said CPU, it is preferably configured to perform the data transfer between the disk device requested from the higher-level program. これにより、CPUの現在の動作モードに応じてDMA転送モードとPIO転送モードを選択的に実行することが可能となり、常に最適な転送モードを利用することができる。 Accordingly, selectively it becomes possible to perform a DMA transfer mode and PIO transfer mode depending on the current operating mode of the CPU, and at all times optimal transfer mode can be utilized.

【0021】 [0021]

【発明の実施の形態】以下、図面を参照して本発明の実施形態を説明する。 BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, an embodiment of the present invention with reference to the drawings. 図1には、本発明の一実施形態に係るコンピュータシステムの構成が示されている。 FIG. 1 shows a configuration of a computer system according to an embodiment of the present invention is shown. このコンピュータシステムは、ノートブックタイプまたはサブノートタイプのポータブルパーソナルコンピュータであり、コンピュータ本体と、このコンピュータ本体に開閉自在に取り付けられたLCDパネルユニットとから構成されている。 The computer system is a portable personal computer of a notebook type or sub-note type, and a computer main body, an LCD panel unit attached openably to the computer. このコンピュータは、内蔵バッテリを有しており、その内蔵バッテリからの電力によって動作可能に構成されている。 The computer has a built-in battery, and is configured to be operated by power from the internal battery. また、ACアダプタを介してAC商用電源などの外部電源から電力供給を受けることもできる。 It is also possible to receive power supply from an external power source such as an AC commercial power supply through the AC adapter. 外部電源から電力供給を受けているときは、その外部電源からの電力がコンピュータシステムの動作電源として用いられる。 When supplied with electric power from an external power source, the power from the external power source is used as an operating power supply of the computer system. このとき、外部電源からの電力によって内蔵バッテリの充電も自動的に行われる。 At this time, charging of the internal battery by the power from the external power supply is also done automatically. ACアダプタが取り外されたり、あるいはAC商用電源のブレーカが落とされたときなどは、内蔵バッテリからの電力がコンピュータシステムの動作電源として用いられる。 Or AC adapter is removed, or the like when the AC commercial power supply breaker is dropped, the power from the internal battery is used as an operating power supply of the computer system.

【0022】また、コンピュータ本体には、IDEインターフェイスを有するハードディスクドライブ(HD [0022] In addition, the computer, hard disk drive with an IDE interface (HD
D)17が取り外し自在に装着されている。 D) 17 is removably mounted. このHDD This HDD
17はコンピュータの二次記憶として使用されるものである。 17 is intended to be used as a secondary storage of a computer.

【0023】また、このコンピュータのシステムボード上には、図示のように、CPU11、ホスト−PCIブリッジ12、主メモリ13、VGAコントローラ14、 Further, on the system board of the computer, as shown, CPU 11, host -PCI bridge 12, main memory 13, VGA controller 14,
PCI−ISAブリッジ15、バスマスタIDEコントローラ16、BIOS−ROM18、埋め込みコントローラ(EC)20、電源コントローラ(PSC)21などが設けられている。 PCI-ISA bridge 15, bus master IDE controller 16, BIOS-ROM 18, the embedded controller (EC) 20, such as the power supply controller (PSC) 21 is provided.

【0024】CPU11は、このシステム全体の動作制御およびデータ処理を実行する。 The CPU11 executes the operation control and data processing of the entire system. このCPU11としては、メモリセグメンテーション機構および仮想アドレッシング機構をサポートするもの、例えば、米インテル社により製造販売されているマイクロプロセッサ“Pen As the CPU 11, which support memory segmentation mechanism and a virtual addressing mechanism, for example, a microprocessor "Pen manufactured and sold by Intel
tium”などが使用される。この場合、CPU11 tium "and the like are used. In this case, CPU11
は、次のような動作を持つ。 Has the following operation.

【0025】すなわち、CPU11は、アプリケーションプログラムやオペレーティングシステム(OS)などのプログラムを実行するための動作モードとしてリアルモード、プロテクトモード、仮想8086モード(V8 [0025] In other words, CPU11 is, real mode, protected mode as the operation mode for executing the program, such as an application program, an operating system (OS), virtual 8086 mode (V8
6モード)を有している。 It has a 6 mode). リアルモードはメモリセグメンテーションを利用した実アドレスモードであり、プロテクトモードおよび仮想86モードは仮想アドレスモードである。 Real mode is a real address mode using the memory segmentation, protected mode and virtual 86 mode is a virtual address mode.

【0026】すなわち、リアルモードは、最大で1Mバイトのメモリ空間をアクセスできるモードであり、論理アドレスから物理アドレスへの変換は、セグメントレジスタで表されるベースアドレスからのオフセット値で物理アドレスを決定するアドレス計算形式によって行われる。 [0026] That is, real mode is a mode that can access the memory space of 1M bytes at a maximum, the conversion from a logical address to a physical address, determines the physical address offset from the base address represented by a segment register performed by address computation format. つまり、図2に示すように、セグメントはメモリ・ That is, as shown in FIG. 2, segment memory
セグメントを仮想的に表す16ビットの値(セレクタと称する場合もある)であり、物理メモリアドレスは、セグメントの値を4ビット左にシフトした(16倍)値をベースアドレスとし、それに16ビットで表されるオフセット値を加えることによって算出される。 A 16 bits representing the segment virtually value (hereinafter also referred to as a selector also), the physical memory address obtained by shifting the value of the segment 4 bits to the left (16 times) value and the base address, it in 16-bit It is calculated by adding the offset value represented.

【0027】一方、プロテクトモードは1タスク当たり最大4Gバイトのメモリ空間をアクセスできるモードであり、ディスクプリタテーブルと称される仮想アドレス変換テーブルを用いてリニアアドレスが決定される。 On the other hand, protected mode is a mode that can access the memory space of up to 4G bytes per task, linear address using the disk pre-data table called a virtual address translation table is determined. このリニアアドレスは、ページングによって最終的に物理アドレスに変換される。 The linear address is finally converted into physical addresses by the paging. つまり、図3に示すように、セグメントの値はディスクプリタテーブルを参照するためのポインタとして使用され、そのディスクプリタテーブルから得られた値をベースアドレスとし、それに16ビットで表されるオフセット値を加えることによってリニアアドレスが算出される。 That is, as shown in FIG. 3, the value of the segment is used as a pointer for referring to the disk pre-data table, the values ​​obtained from the disk pre-data table and the base address, offset value represented by 16 bits linear address is calculated by adding. V86モードはプロテクトモード環境下でリアルモードをエミュレーションするための動作モードであり、プロテクトモードと同じ仮想アドレス計算方式が用いられる。 V86 mode is an operation mode for emulating the real mode under protected mode environment, the same virtual address calculation scheme and protected mode is used.

【0028】CPU11の初期化時の動作モードはリアルモードであり、オペレーティングシステム等のソフトウェア制御の下に、プロテクトモード、V86モードにスイッチされる。 The operation modes of the initialization of the CPU11 is real mode, under software control of the operating system or the like, protected mode is switched to V86 mode.

【0029】ホスト−PCIブリッジ12はCPUバス1とPCIバス2間を双方向でつなぐブリッジであり、 [0029] The host -PCI bridge 12 is a bridge that connects the CPU bus 1 and the PCI bus 2 in both directions,
ここには主メモリ13を制御するためのメモリコントローラも内蔵されている。 Here a memory controller for controlling the main memory 13. 主メモリ13はこのシステムの主記憶つまりシステムメモリとして使用されるものであり、オペレーティングシステム、処理対象のアプリケーションプログラム、およびアプリケーションプログラムによって作成されたユーザデータ等が格納される。 The main memory 13 is intended to be used as a main storage that is system memory of the system, an operating system, an application program to be processed, and the user data and the like created by the application program. この主メモリ13はDRAMなどの半導体メモリによって実現されている。 The main memory 13 is implemented by a semiconductor memory such as a DRAM.

【0030】BIOS−ROM18は、システムBIO The BIOS-ROM18, the system BIO
S(Basic I/O System)を記憶するためのものであり、プログラム書き替えが可能なようにフラッシュメモリによって構成されている。 S is for storing (Basic I / O System), is constituted by a flash memory so as to enable the program rewriting. システムBI System BI
OSは、このシステム内の各種ハードウェアをアクセスするためのファンクション実行ルーチンを体系化したものであり、リアルモードで動作するように構成されている。 OS is obtained by organizing the function execution routines to access the various hardware within the system is configured to operate in real mode. このシステムBIOSには、システムのパワーオン時にオペレーティングシステムをブートストラップするための処理ルーチンと、各種ハードウェア制御のためのBIOSドライバ群などが含まれている。 The system BIOS, the processing routine for bootstrapping an operating system at power-on of the system, such as BIOS drivers for controlling various hardware is included. 各BIOSドライバは、ハードウェア制御のための複数の機能をオペレーティングシステムやアプリケーションプログラムに提供するためにそれら機能に対応する複数のファンクション実行ルーチン群を含んでいる。 Each BIOS driver includes a plurality of function execution routines corresponding to their functions in order to provide different functionality of the operating system or application program for hardware control. 上位プログラムからINT13hがコールされると、BIOSのハードディスクドライバが実行される。 When INT13h is called from the host program, BIOS hard disk driver is executed. このドライバ(INT13 The driver (INT13
h)には、HDD17との間のデータ転送をDMA転送によって行うための機能とPIO転送によって行う機能とが含まれている。 The h), contains the function performed by function and PIO transfer for transferring data by DMA transfer between the HDD 17.

【0031】EC20は、システムが持つ付加機能を制御するためのコントローラであり、CPU周辺温度などに応じてクーリングファンの回転制御などを行うための熱制御機能、システムの各種状態をLEDの点灯やビープ音によってユーザに通知するためのLED/ビープ音制御機能、電源コントローラ21と共同してシステム電源のオン/オフなどを制御する電源シーケンス制御機能、および電源ステータス通知機能などを有している。 [0031] EC20 is a controller for controlling the additional functions of the system, thermal control function for performing such rotation control of the cooling fans, lights the various states of the system of LED Ya in accordance with the CPU ambient temperature LED / beep control function for notifying the user by beeping, has power sequencing function for controlling the power supply controller 21 and jointly system power on / off, and power status notification function, and the like.
ハイバネーション状態においても、EC20および電源コントローラ21には動作電源が供給されており、電源スイッチ22およびパネルスイッチ23のオン・オフが監視される。 Even in the hibernation state, the operating power supply is the EC20 and the power supply controller 21 is supplied, on-off power switch 22 and the switch panel 23 is monitored.

【0032】ハイバネーションはシステム電源オフなどのパワーセーブモードへの移行イベントの発生時にCP [0032] hibernation at the time of the outbreak of the migration event to the power save mode, such as a system power off CP
U11および各種周辺LSIのステータス、および主メモリ13の内容などをハードディスク17にセーブした後に主メモリ17を含むシステム内のほとんどすべてのデバイスをパワーダウンさせるモードである。 U11 and various peripheral LSI status, and such as the contents of the main memory 13 is a mode in which the power-down almost all the devices in the system including a main memory 17 after saving the hard disk 17. ハイバネーション状態においてシステム電源オフなどのウェイクアップイベントが発生すると、ハードディスク17にセーブされているメモリイメージが主メモリ13にリストアされ、ハイバネーション前の作業状態に復元される。 When the wake-up event, such as a system power off occurs in the hibernation state, the memory image that is saved on the hard disk 17 is restored in the main memory 13 is restored to the working state before hibernation.
ハイバネーションの実行および復帰処理の制御はACP Control of hibernation execution and return processing ACP
I(Advanced Configuration and PowerInterface)対応のOSの管理下で実行される。 I (Advanced Configuration and PowerInterface) is performed under the control of a corresponding of the OS.

【0033】VGAコントローラ14は、このシステムのディスプレイモニタとして使用されるLCDおよび外部CRTを制御するためのものであり、VRAMに描画された画面データをLCDおよび外部CRTの一方または双方に表示する。 The VGA controller 14 is for controlling the LCD and an external CRT is used as a display monitor of the system, a screen data drawn in the VRAM to one or both of LCD and an external CRT.

【0034】バスマスタIDEコントローラ16は、コンピュータ本体に装着されたIDEデバイス(ここでは、HDD17)を制御するためのものであり、IDE The bus master IDE controller 16, IDE device attached to the computer main body (here, HDD 17) is intended to control the, IDE
デバイスと主メモリ13との間のDMA転送を実行可能なバスマスタ機能(DMAコントローラ)を有している。 Executable bus master function of DMA transfer between the device and the main memory 13 has a (DMA Controller). このバスマスタ機能は、CPU11からのコマンドに応じて自らデータ転送のためのバスサイクル(DMA The bus master function, the bus cycle (DMA for their own data transfer in response to a command from the CPU11
転送)を実行するものであり、PIOモードよりもCP Is intended to perform the transfer), CP than PIO mode
U負荷を低減した状態で、IDEデバイスと主メモリ1 At reduced U load, IDE devices and main memory 1
3との間のデータ転送を高速実行する事ができる。 3 the data transfer between the can be run faster.

【0035】次に、図4を参照して、BIOSのディスクアクセス動作について説明する。 Next, referring to FIG. 4, will be described disk access operation of the BIOS.

【0036】ここでは、オペレーティングシステムなどの上位プログラムからBIOSのディスクドライバ(I [0036] Here, from the higher-level programs such as the operating system BIOS disk drivers (I
NT13h)がコールされた場合を想定する。 NT13h) it is assumed that was called. INT1 INT1
3hのBIOSコールはCPU11のソフトウェア割り込み機能を用いて実現されている。 BIOS calls 3h are implemented using software interrupt function of CPU 11. この場合、上位プログラムからBIOSのディスクドライバ(INT13 In this case, BIOS disk drivers from a higher-level program (INT13
h)には、CPU11のレジスタを通じて以下のI/O The h), the following I / O through the register of the CPU11
パラメタが通知される。 Parameter is notified.

【0037】 R/Wファンクション:ディスクリードまたはディスクライトを示す 転送セクタ数: ディスク装置との間でデータ転送すべきセクタ数 セグメント: 上述の16ビットのセグメント値 オフセット: 上述の16ビットのオフセット値 HDDアドレス:ディスクアクセスを行うべき開始アドレス ドライブ番号: アクセス対象のディスク装置のドライブ番号 上位プログラムは、これらR/Wファンクション、転送セクタ数、セグメント、オフセット、HDDアドレス、 [0037] R / W Function: the number of transfer sectors showing a disk read or disk write: the number of sectors to be data transferred between the disk unit segment: above 16-bit segment value Offset: Offset value HDD 16 bit above address: starting to perform disk access address drive number: drive number the higher-level program of the accessed disk drive, these R / W function, the number of transfer sectors, segments, offset, HDD address,
ドライブ番号をそれぞれCPU11のAHレジスタ、A AH register of the drive number each CPU11, A
Lレジスタ、ESレジスタ、BXレジスタ、CX/DH L register, ES register, BX register, CX / DH
レジスタ、DLレジスタなどにセットした後に、INT Register, after setting such as in the DL register, INT
13hをコールする。 To call the 13h. これにより、BIOSのディスクドライバ(INT13h)に制御が移る。 Thus, control is passed to BIOS disk drivers (INT13h).

【0038】BIOSのディスクドライバ(INT13 The BIOS disk drivers (INT13
h)は、まず、上位プログラムが動作していたCPU1 h), first, the upper-level program was working CPU1
1の動作モード、つまり現在のCPU11の動作モードをチェックし、仮想アドレスモードであるか、リアルモードであるかを判別する(ステップS101,S10 Mode of operation, i.e. to check the operation mode of the current CPU 11, whether a virtual address mode, and determines whether a real mode (step S101, S10
2)。 2). 上述したようにBIOSはリアルモードで動作するように構成されているので、上位プログラムからのB Since BIOS as described above it is configured to operate in real mode, B from upper program
IOSコールは、リアルモード又はV86モードで行われる。 IOS call is carried out in real mode or V86 mode. したがって、CPU11内のステータスレジスタのV86フラグがオンであるか否かを調べることにより、仮想アドレスモードであるか、リアルモードであるかを判別することができる。 Therefore, by examining whether the V86 flag in the status register in the CPU11 is on, whether the virtual address mode, it is possible to determine whether the real mode.

【0039】仮想アドレスモード、つまりV86モードである場合、BIOSのディスクドライバ(INT13 The virtual address mode, if that is, V86 mode, BIOS disk drivers (INT13
h)は、CPU11にHDD17に対するアクセスを繰り返し実行させるというPIO転送モードによってHD h) is, HD by PIO transfer mode that is executed repeatedly access to HDD17 the CPU11
D17との間のデータ転送を実行する(ステップS10 Executing a data transfer between the D17 (step S10
3)。 3).

【0040】一方、リアルモードであれば、BIOSのディスクドライバ(INT13h)は、DMA転送モードによってHDD17との間のデータ転送を実行する(ステップS104)。 On the other hand, if real mode, BIOS disk drivers (INT13h) executes data transfer between the HDD17 by the DMA transfer mode (step S104). この場合、BIOSのディスクドライバ(INT13h)は、まず、ESレジスタのセグメントとBXレジスタのオフセットの値から物理メモリアドレスを計算し(セグメント×16+オフセット= In this case, BIOS disk drivers (INT13h), first, calculates the physical memory address from the value of the offset of the ES register segment and BX registers (segment × 16 + offset =
物理メモリアドレス)、そしてその物理メモリアドレスを計算する。 Physical memory addresses), and calculate its physical memory address. そして、BIOSのディスクドライバ(I Then, BIOS disk drivers (I
NT13h)は、その物理メモリアドレスと、CX/D NT13h) is, and the physical memory address, CX / D
HにセットされているHDDアドレスをそれぞれ転送元/転送先アドレスの初期値としてバスマスタIDEコントローラ16にセットすると共に、ALレジスタの転送セクタ数をデータ転送幅としてバスマスタIDEコントローラ16にセットする。 While set to the bus master IDE controller 16 to HDD address set in the H as the initial value for each transfer source / destination address, it sets the bus master IDE controller 16 the number of transfer sectors of the AL register as a data transfer width. これにより、バスマスタID As a result, the bus master ID
Eコントローラ16は、DMA転送を開始する。 E controller 16 starts the DMA transfer. 例えば、ディスクから主メモリ13のディスクリードの場合には、バスマスタIDEコントローラ16は、HDDアドレスで指定された位置のセクタデータから順にデータを読み出すと共に、その読み出したデータを物理メモリアドレスで指定される主メモリ13のメモリ番地から順に書き込むバスサイクルを実行する。 For example, in the case of a disk read of the main memory 13 from the disk, the bus master IDE controller 16 reads the data sequentially from the sector data at the position specified by HDD address is designated the read data in the physical memory address to run the bus cycle to be written in order from the memory address of the main memory 13.

【0041】図5は、仮想アドレスモードであるか否かだけではなく、HDD17がサポートする転送モードも考慮してデータ転送モードを決定する場合の処理例である。 [0041] Figure 5 is not only whether the virtual address mode, an example of processing of determining the data transfer mode transfer mode even in consideration of HDD17 supports.

【0042】即ち、BIOSのディスクドライバ(IN [0042] In other words, BIOS disk drivers (IN
T13h)は、まず、上位プログラムが動作していたC T13h) is, first, the upper-level program was running C
PU11の動作モード、つまり現在のCPU11の動作モードをチェックし、仮想アドレスモードであるか、リアルモードであるかを判別する(ステップS101,S PU11 operation mode, i.e. to check the operation mode of the current CPU 11, whether a virtual address mode, and determines whether a real mode (step S101, S
102)。 102). ここまでは、図4と同じである。 Until this point is the same as FIG.

【0043】仮想アドレスモード、つまりV86モードである場合、BIOSのディスクドライバ(INT13 The virtual address mode, if that is, V86 mode, BIOS disk drivers (INT13
h)は、HDD17からリードしたドライブパラメータ情報に基づいて、HDD17がRead/Write h), based on the drive parameter information read from HDD17, HDD17 is Read / Write
Multipleコマンドをサポートしているかどうかを判断し(ステップS201)、その結果に基づいて、 It determines whether it supports the Multiple command (step S201), based on the results,
Read/Write Multipleコマンド、またはRead/Write Sectorコマンドを用いたデータ転送を実行する(ステップS202)。 A Read / Write Multiple commands, or performs data transfer using a Read / Write Sector command (step S202). Re Re
ad/Write Multipleは複数セクタ分のリード/ライトをまとめて指定可能なコマンドであり、 ad / Write Multiple are the possible commands together multiple sectors of read / write,
このRead/Write Multipleコマンドをサポートしていない場合には、HDDアクセスには単一のセクタ単位でリード/ライトを指定するRead/ If this Read / Write Multiple commands not supported by, the HDD access to specify the read / write in a single sector units Read /
Write Sectorコマンドを用いたデータ転送モードが使用される。 Write Sector command data transfer mode using are used. Read/Write Mult Read / Write Mult
iple、およびRead/Write Sector iple, and Read / Write Sector
のどちらも、PIO転送モードである。 Both, a PIO transfer mode.

【0044】リアルモードである場合には、BIOSのディスクドライバ(INT13h)は、HDD17からリードしたドライブパラメータ情報に基づいて、HDD [0044] In the case of a real mode, BIOS disk drivers (INT13h), based on the drive parameter information read from HDD17, HDD
17がDMAをサポートしているかどうかを判断する(ステップS204)。 17 to determine whether it supports DMA (step S204). サポートしていない場合は、H Support If you have not, H
DDアクセスには前述のRead/Write Mul The DD access the above-mentioned Read / Write Mul
tipleコマンドを使用する。 Using the tiple command. DMAをサポートしている場合には、次に、Ultra DMAをサポートしているかどうかを判断する(ステップS205)。 If that supports DMA then determines whether it supports Ultra DMA (step S205). サポートしていない場合は、HDDアクセスにはDMA R If it does not, DMA R in the HDD access
ead/Writeコマンドを使用する(ステップS2 Using the ead / Write command (step S2
07)。 07). サポートしている場合は、Ultra DMA Support If you are, Ultra DMA
Read/Writeコマンドを使用する(ステップS208)。 Using the Read / Write command (step S208). DMA Read/Writeコマンド、 DMA Read / Write command,
およびUltra DMA Read/Writeコマンドのどちらも前述のDMA転送のためのコマンドである。 And either Ultra DMA a Read / Write command is also a command for the aforementioned DMA transfer.

【0045】多くのHDDはRead/Write M [0045] Many of the HDD Read / Write M
ultipleおよびUltraDMA Read/W ultiple and UltraDMA Read / W
riteをサポートしているので、転送セクター数が2 Because it supports the rite, the number of transfer sectors 2
以上であれは、実際には、仮想アドレスモードではRe Is there above, in fact, Re is a virtual address mode
ad/Write MultipleコマンドによるP P by ad / Write Multiple commands
IO転送が実行され、リアルモードではUltraDM IO transfer is executed, UltraDM in real mode
A Read/Writeコマンドを用いたDMA転送が実行されることになる。 So that the DMA transfer using the A a Read / Write command is executed.

【0046】データ転送レートは、Ultra DMA The data transfer rate is, Ultra DMA
Read/Writeが最も高く、次いで、DMA Read / Write is the highest, then, DMA
Read/Write、Read/Write Mul Read / Write, Read / Write Mul
tiple、Read/Write Sectorの順となる。 tiple, the order of Read / Write Sector.

【0047】次に、図6を参照して、システム起動時、 Next, with reference to FIG. 6, system startup,
つまりオペレーティングシステム(OS)をブートストラップするときの動作について説明する。 That is a description of the operation at the time of the bootstrap the operating system (OS).

【0048】電源スイッチ22がオンされることによってシステムがパワーオンされると、BIOSはそのディスクドライバ(INT13h)を用いて、HDD17のMBR(Master Boot Record)の内容を主メモリ13に読み込むためのディスクアクセスを行う。 [0048] When the system by the power switch 22 is turned on is powered on, BIOS is using the disk driver (INT13h), for reading the contents of the MBR (Master Boot Record) of HDD17 the main memory 13 perform a disk access. MBRにはアクティブパーティションからブートコード(OSローダ)を読み出してくるためのマスターブートコードが含まれており、マスターブートコードに制御が渡される。 The MBR includes a master boot code for coming reads the boot code (OS loader) from the active partition, control is passed to the master boot code.
マスターブートコードは、CPU11のレジスタにOS Master boot code, OS in the register of the CPU11
ローダの読み込みに必要なパラメータを設定した後、B After setting the parameters required to load the loader, B
IOSのディスクドライバ(INT13h)をコールする。 To call the IOS of the disk driver (INT13h). ディスクドライバ(INT13h)は、マスターブートコードから指定されたディスクリードを実行して、 Disk driver (INT13h), run a disk lead that has been specified from the master boot code,
OSローダを主メモリ13に読み込む。 Load the OS loader in the main memory 13. この後、OSローダに制御が渡され、OSローダはCPU11のレジスタにカーネルの読み込みに必要なパラメータを設定した後、BIOSのディスクドライバ(INT13h)をコールする。 After this, the control to the OS loader is passed, the OS loader After setting the parameters required to load the kernel register of the CPU 11, calls the BIOS disk driver (INT13h).

【0049】ディスクドライバ(INT13h)は、O The disk driver (INT13h) is, O
Sローダから指定されたディスクリードを実行して、カーネルを主メモリ13に読み込む。 Run the disk lead that has been specified from S loader, load the kernel in the main memory 13. この後、OSローダからカーネルに制御が渡される。 After this, control is passed from the OS loader to the kernel. カーネルは各種ドライバの読み込みをBIOSのディスクドライバ(INT1 The kernel various driver reads the BIOS disk driver of the (INT1
3h)を用いて行うが、その途中で、リアルモードからプロテクトモードへの切り換えが行われる。 It performed using a 3h), but on its way, the switching from the real mode to protected mode is performed. BIOSのディスクドライバ(INT13h)をコールする場合には、V86モードが用いられる。 When calling BIOS disk driver (INT13h) is, V86 mode is used. ディスクドライバ(I Disk driver (I
NT13h)がコールされる環境がリアルモードからV V environment that NT13h) is called from real mode
86モードに切り替えられるまでは、ディスクドライバ(INT13h)によるディスク装置とメモリとの間のデータ転送は全てDMA転送によって行われる。 Until switched to 86 mode, data transfer between the disk device and the memory of the disk driver (INT13h) is carried out by all DMA transfers. そして、V86モードに切り替えられた後は、PIOモードによるディスクアクセスが行われる。 Then, after switching to the V86 mode, disk access by PIO mode is performed. これにより、ディスクドライバ(INT13h)が常にPIOモードによってディスクアクセスを行う場合に比べ、OSのブートストラップシーケンスの高速化を図ることが可能となる。 Thus, compared with the case where the disk driver (INT13h) performs disk access by always PIO mode, it is possible to increase the speed of OS bootstrap sequence.

【0050】次に、図7を参照して、ハイバネーション状態からの復帰時の動作について説明する。 Next, with reference to FIG. 7, the operation of the time of returning from hibernation state.

【0051】電源スイッチ22のオンなどのウェイクアップイベントが発生すると、BIOSはそのディスクドライバ(INT13h)を用いて、HDD17のMBR [0051] When the wake-up events, such as on of the power switch 22 occurs, BIOS is using the disk driver (INT13h), HDD17 of MBR
(Master Boot Record)の内容を主メモリ13に読み込むためのディスクアクセスを行う。 Perform a disk access for reading in the main memory 13 the contents of the (Master Boot Record). MBRにはアクティブパーティションからブートコード(OSローダ)を読み出してくるためのマスターブートコードが含まれており、マスターブートコードに制御が渡される。 The MBR includes a master boot code for coming reads the boot code (OS loader) from the active partition, control is passed to the master boot code. マスターブートコードは、CPU11のレジスタにOSローダの読み込みに必要なパラメータを設定した後、BIOSのディスクドライバ(INT13h)をコールする。 The master boot code, after setting the parameters required to load the OS loader in the register of CPU 11, calls the BIOS disk driver (INT13h). ディスクドライバ(INT13h)は、マスターブートコードから指定されたディスクリードを実行して、OSローダを主メモリ13に読み込む。 Disk driver (INT13h), run a disk lead that has been specified from the master boot code, load the OS loader in the main memory 13. この後、OSローダに制御が渡される。 After this, control is passed to the OS loader. OSローダは、ハイバネーションからの復帰であるか通常のブートストラップであるかを判定する。 OS loader, determines whether the normal boot strap or a return from hibernation. この判定は、例えばハイバネーション状態への移行時にそれを示すフラグをOS内部やEC20のレジスタなどに記憶しておき、OSローダの実行時にそれを参照すること等によって行うことができる。 This determination can be performed, for example, a flag indicating it when moving to the hibernation state is stored, such as the OS inside or EC20 of registers, such as by referring to it when the OS loader execution.

【0052】ハイバネーションからの復帰である場合には、OSローダは、CPU11のレジスタに、HDD1 [0052] In the case of a return from hibernation, OS loader, the register of the CPU11, HDD1
7にセーブされているメモリイメージの読み込みに必要なパラメータを設定した後、BIOSのディスクドライバ(INT13h)をコールする。 After setting the parameters required to read the memory image that is saved in the 7, to call the BIOS disk driver (INT13h). ディスクドライバ(INT13h)は、OSローダから指定されたディスクリードを実行して、メモリイメージを主メモリ13に読み込む。 Disk driver (INT13h), run a disk read designated by the OS loader reads the memory image to the main memory 13. この時、CPU11はまだリアルモードであるので、HDD17から主メモリ13へのメモリイメージの転送はDMA転送によって高速実行される。 At this time, CPU11 so still there in the real mode, transfer of the memory image from the HDD17 to the main memory 13 is fast execution by the DMA transfer. この後、OSによって各主デバイスの状態復元に必要な処理等が実行されることにより、ハイバネーション移行前の作業環境が復元される。 Thereafter, by processing necessary for state restoration of the main device by the OS is executed, work environment before hibernation transition is restored.

【0053】以上のように、本実施形態によれば、上位プログラムからディスク入出力動作が要求された時のC [0053] As described above, according to this embodiment, C when the disk IO operation is requested from the higher-level program
PU11の動作モードに応じてDMA転送とPIO転送を選択的に切り替えて実行することにより、誤った物理メモリアドレスの算出などの不具合を招くことなく、ディスク装置とメモリとの間のデータ転送を効率よく実行することが可能となる。 By executing selectively switching the DMA transfer and PIO transfer according to PU11 operation mode, without causing problems such as the calculation of the wrong physical memory address the efficiency of data transfer between the disk device and memory it is possible to perform well. 特に、ハイバネーションからの復帰時には大量のメモリイメージデータを高速データ転送可能なUltra DMA Read/Writeコマンドを用いることにより、PIOを用いる場合比べ、 In particular, by using large amounts of memory image data enabling high speed data transfer of Ultra DMA Read / Write command when returning from hibernation, compared when using the PIO,
メモリイメージデータの読み込みに要する時間を大幅に短縮することができる。 The time required to read the memory image data can be greatly reduced.

【0054】 [0054]

【発明の効果】以上説明したように、本発明によれば、 As described in the foregoing, according to the present invention,
動作の信頼性を損なうことなく、ディスク装置との間のデータ転送効率を十分に向上させることが可能となる。 Without compromising the reliability of operation, it is possible to sufficiently improve the efficiency of data transfer between the disk device.

【図面の簡単な説明】 BRIEF DESCRIPTION OF THE DRAWINGS

【図1】本発明の一実施形態に係るコンピュータシステムの構成を示すブロック図。 Block diagram showing the configuration of a computer system according to an embodiment of the present invention; FIG.

【図2】同実施形態においてCPUがリアルモード時における物理アドレス計算方式を説明するための図。 Figure 2 is a view for CPU in the same embodiment will be described physical address calculation method in real mode.

【図3】同実施形態においてCPUがプロテクトモード時における物理アドレス計算方式を説明するための図。 Figure 3 shows for CPU in the same embodiment will be described physical address calculation method in protected mode.

【図4】同実施形態で実行されるディスクアクセス動作を説明するためのフローチャート。 Flowchart illustrating a disk access operations performed in FIG. 4 the embodiment.

【図5】同実施形態で実行されるディスクアクセス動作の第2の例を説明するためのフローチャート。 Flow chart for explaining a second example of a disk access operations performed by [5] the embodiment.

【図6】同実施形態におけるオペレーティングシステムのブートストラップ動作を説明するためのフローチャート。 Figure 6 is a flowchart for illustrating the bootstrap operation of the operating system in the same embodiment.

【図7】同実施形態におけるハイバネーションからの復帰動作を説明するためのフローチャート。 FIG. 7 is a flowchart for explaining the return from hibernation in the same embodiment.

【符号の説明】 DESCRIPTION OF SYMBOLS

11…CPU 12…ホスト−PCIブリッジ 13…主メモリ 16…バスマスタIDEコントローラ 17…HDD 18…BIOS−ROM 11 ... CPU 12 ... host -PCI bridge 13 ... main memory 16 ... Bus Master IDE controller 17 ... HDD 18 ... BIOS-ROM

Claims (9)

    【特許請求の範囲】 [The claims]
  1. 【請求項1】 セグメントおよびオフセットから物理メモリアドレスを計算する第1動作モードと、前記セグメントおよびオフセットを含む仮想アドレスと仮想アドレス変換テーブルとを用いて物理メモリアドレスを計算する第2動作モードとを有するCPUを備えたコンピュータシステムにおいて、 前記コンピュータシステムに設けられたディスク装置に対するアクセスが上位プログラムから要求された場合、 And 1. A first operation mode to calculate the physical memory address from the segment and offset, and a second operation mode to calculate the physical memory address by using the virtual address and the virtual address translation table including the segment and offset in a computer system comprising a CPU having, if access to the disk device provided in the computer system is requested from the host program,
    前記CPUの現在の動作モードが前記第1動作モードおよび前記第2動作モードのいずれであるかを判別する動作モード判別手段と、 前記動作モード判別手段によって前記CPUの現在の動作モードが前記第1動作モードであると判別された場合、前記CPUのレジスタにセットされている前記セグメントおよびオフセットから物理メモリアドレスを算出し、その算出した物理メモリアドレスおよび前記CPU Operation mode determining means and the current operating mode of the first of the CPU by the operation mode determining means for current operating mode of said CPU to determine which of the first operation mode and the second operation mode If it is determined that the operation mode, the calculated physical memory address from the segment and offset are set in the register of CPU, the calculated physical memory address and the CPU
    の別のレジスタにセットされているディスクアドレスを用いて、前記上位プログラムから要求された前記ディスク装置との間のデータ転送をDMA転送によって実行するディスクアクセス制御手段とを具備することを特徴とするコンピュータシステム。 Using another disc address set in the register, characterized by comprising a disk access control means for executing data transfer between said disk device requested from the higher-level program by the DMA transfer computer system.
  2. 【請求項2】 前記ディスクアクセス制御手段は、 前記動作モード判別手段によって前記CPUの現在の動作モードが前記第2動作モードであると判別された場合、前記CPUに前記ディスク装置に対するアクセスを繰り返し実行させるPIO転送モードによって、前記上位プログラムから要求された前記ディスク装置との間のデータ転送を実行する手段をさらに含むことを特徴とする請求項1記載のコンピュータシステム。 Wherein said disk access control means, if the current operating mode of the CPU by the operation mode determining means is determined to be the second operating mode, repeatedly executing access to said disk device to said CPU by causing PIO transfer mode, the computer system according to claim 1, further comprising means for performing data transfer between said disk device requested from the higher-level program.
  3. 【請求項3】 前記ディスク装置と前記コンピュータシステムのメモリとの間でDMA転送を実行するDMA転送手段をさらに具備し、 前記ディスクアクセス制御手段は、前記算出した物理メモリアドレスおよび前記CPUの別のレジスタにセットされているディスクアドレスを前記DMA転送手段にセットすることにより、前記上位プログラムから要求された前記ディスク装置との間のデータ転送を前記DMA転送手段に実行させることを特徴とする請求項1記載のコンピュータシステム。 Wherein further comprising a DMA transfer means for performing a DMA transfer between the memory and the disk device to the computer system, the disk access control means, another of the physical memory address and the CPU with the calculated by setting the disc address set in the register to the DMA transferring means, claims, characterized in that to perform the data transfer between the disk device requested from the higher-level program to the DMA transfer means 1, wherein the computer system.
  4. 【請求項4】 前記DMA転送手段はバスマスタ機能を有するディスク制御装置であり、前記ディスク制御装置を介して前記ディスク装置と前記メモリとの間のDMA Wherein said DMA transfer means is a disk controller having a bus master function, DMA between the memory and the disk apparatus via the disk controller
    転送が実行されるように構成されていることを特徴とする請求項3記載のコンピュータシステム。 Computer system according to claim 3, characterized in that is configured to transfer is executed.
  5. 【請求項5】 前記上位プログラムはオペレーティングシステムであり、前記オペレーティングシステムが、そのブートストラップシーケンスの途中で前記CPUの動作モードを前記第1動作モードから前記第2動作モードに切り替えるまでは、前記ディスクアクセス制御手段は、前記ブートストラップシーケンス中の前記オペレーティングシステムからの要求に応じて、前記オペレーティングシステムを構成するファイル群を前記ディスク装置からリードするためのデータ転送をDMA転送によって実行することを特徴とする請求項1記載のコンピュータシステム。 Wherein said upper-level program is an operating system, the operating system, is a middle operation mode of the CPU of the bootstrap sequence from the first operation mode before switching to the second operation mode, the disc access control means includes characterized in that said in bootstrap sequence in response to a request from the operating system, executed by the DMA transfer of data transfer for reading the files constituting the operating system from the disk device the computer system of claim 1 wherein the.
  6. 【請求項6】 パワーセーブモード時にコンピュータシステムの主メモリの内容をそのシステムのディスク装置にセーブし、前記パワーセーブモードからのウェイクアップ時に前記ディスク装置にセーブされているメモリイメージを前記主メモリにリストアするハイバネーション機能を有するコンピュータシステムにおいて、 セグメントおよびオフセットから物理メモリアドレスを計算する第1動作モードと、前記セグメントおよびオフセットを含む仮想アドレスと仮想アドレス変換テーブルとを用いて物理メモリアドレスを計算する第2動作モードとを有するCPUと、 上位プログラムから前記メモリイメージのリストアが要求された場合、前記CPUの現在の動作モードが前記第1動作モードおよび前記第2動作モードのいずれであるか The contents of the main memory 6. The power save mode computer system when saved in the disk device of the system, the memory image the is saved to disk device upon wakeup from the power save mode in said main memory in a computer system having a hibernation function to restore, first calculates the physical memory address by using the first operation mode to calculate the physical memory address from the segment and offset, and the virtual address and the virtual address translation table including the segment and offset a CPU and a second operating mode, or if restoration of the memory image from the upper program is requested, which one current operating mode of the CPU is the first operation mode and the second operation mode 判別する動作モード判別手段と、 前記動作モード判別手段によって前記CPUの現在の動作モードが前記第1動作モードであると判別された場合、前記CPUのレジスタにセットされている前記セグメントおよびオフセットから物理メモリアドレスを算出し、その算出した物理メモリアドレスおよび前記CPU And operation mode determining means for determining, if the current operating mode of the CPU by the operation mode determining means is determined to be the first operation mode, the physical from the segment and offset are set in the register of the CPU physical memory address and the CPU which calculates the memory address, and the calculated
    の別のレジスタにセットされているディスクアドレスを用いて、前記上位プログラムから要求されたメモリイメージのリストアをDMA転送によって実行するディスクアクセス制御手段とを具備することを特徴とするコンピュータシステム。 Computer system using the disk address that is set in another register, characterized by comprising a disk access control means for performing a restore memory image requested from the higher-level program by the DMA transfer.
  7. 【請求項7】 前記ディスク装置と前記コンピュータシステムのメモリとの間でDMA転送を実行するDMA転送手段をさらに具備し、 前記ディスクアクセス制御手段は、前記算出した物理メモリアドレスおよび前記CPUの別のレジスタにセットされているディスクアドレスを前記DMA転送手段にセットすることにより、前記上位プログラムから要求された前記メモリイメージのリストアを前記DMA転送手段に実行させることを特徴とする請求項6記載のコンピュータシステム。 7. further comprising a DMA transfer means for performing a DMA transfer between the memory and the disk device to the computer system, the disk access control means, another of the physical memory address and the CPU with the calculated by setting the disc address set in the register to the DMA transferring means, the computer according to claim 6, characterized in that to perform the restore of the memory image that is requested from the host program to the DMA transfer means system.
  8. 【請求項8】 セグメントおよびオフセットから物理メモリアドレスを計算する第1動作モードと、前記セグメントおよびオフセットを含む仮想アドレスと仮想アドレス変換テーブルとを用いて物理メモリアドレスを計算する第2動作モードとを有するCPUを備えたコンピュータシステムに適用されるデータ転送制御方法であって、 前記コンピュータシステムに設けられたディスク装置に対するアクセスが上位プログラムから要求された場合、 8. A first operation mode to calculate the physical memory address from the segment and offset, and a second operation mode to calculate the physical memory address by using the virtual address and the virtual address translation table including the segment and offset a data transfer control method applied to a computer system comprising a CPU having, if access to the disk device provided in the computer system is requested from the host program,
    前記CPUの現在の動作モードが前記第1動作モードおよび前記第2動作モードのいずれであるかを判別する動作モード判別ステップと、 前記動作モード判別ステップによって前記CPUの現在の動作モードが前記第1動作モードであると判別された場合、前記CPUのレジスタにセットされている前記セグメントおよびオフセットから物理メモリアドレスを算出し、その算出した物理メモリアドレスおよび前記CP Operation mode determining step and said operation mode determining the current operation mode is the first of the CPU by step the current operating mode of said CPU to determine which of the first operation mode and the second operation mode If it is determined that the operation mode, the calculated physical memory address from the segment and offset are set in the register CPU, a physical memory address and the CP that the calculated
    Uの別のレジスタにセットされているディスクアドレスを用いて、前記ディスク装置との間のデータ転送をDM Using the disc address set in another register of the U, the data transfer between the disk device DM
    A転送によって実行するステップとを具備することを特徴とするデータ転送制御方法。 The data transfer control method characterized by comprising the steps performed by A transfer.
  9. 【請求項9】 セグメントおよびオフセットから物理メモリアドレスを計算する第1動作モードと、前記セグメントおよびオフセットを含む仮想アドレスと仮想アドレス変換テーブルとを用いて物理メモリアドレスを計算する第2動作モードとを有するCPUを有し、パワーセーブモード時にディスク装置にセーブした主メモリの内容を、前記パワーセーブモードからのウェイクアップ時に前記ディスク装置から前記主メモリにリストアするためのデータ転送制御方法であって、 上位プログラムからディスク装置にセーブされているメモリイメージのリストアが要求された場合、前記CPU 9. A first operating mode to calculate the physical memory address from the segment and offset, and a second operation mode to calculate the physical memory address by using the virtual address and the virtual address translation table including the segment and offset a CPU having a main content of memory saved in a disk device in the power save mode, the a data transfer control method for restoring from the disk device to the main memory during wake-up from the power saving mode, If the restore of the memory image that is saved from the host program to disk apparatus is requested, the CPU
    の現在の動作モードが前記第1動作モードおよび前記第2動作モードのいずれであるかを判別する動作モード判別ステップと、 前記動作モード判別ステップによって前記CPUの現在の動作モードが前記第1動作モードであると判別された場合、前記CPUのレジスタにセットされている前記セグメントおよびオフセットから物理メモリアドレスを算出し、その算出した物理メモリアドレスおよび前記CP Current operation mode determination step of the operation mode is determined which of the first operation mode and the second operation mode, the current operating mode is the first operation mode of the CPU by the operation mode determining step of If it is determined that the said calculating a physical memory address from the segment and offset are set in the register CPU, a physical memory address and the CP that the calculated
    Uの別のレジスタにセットされているディスクアドレスを用いて、前記上位プログラムから要求された前記メモリイメージのリストアをDMA転送によって実行するステップとを具備することを特徴とするデータ転送制御方法。 Using the disc address set in another register of the U, the data transfer control method characterized by comprising the steps of performing a restore of the memory image that is requested by the upper program by the DMA transfer.
JP2000290939A 2000-09-25 2000-09-25 Computer system and a data transfer control method Expired - Fee Related JP4155545B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000290939A JP4155545B2 (en) 2000-09-25 2000-09-25 Computer system and a data transfer control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000290939A JP4155545B2 (en) 2000-09-25 2000-09-25 Computer system and a data transfer control method

Publications (2)

Publication Number Publication Date
JP2002099502A true JP2002099502A (en) 2002-04-05
JP4155545B2 JP4155545B2 (en) 2008-09-24

Family

ID=18774095

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000290939A Expired - Fee Related JP4155545B2 (en) 2000-09-25 2000-09-25 Computer system and a data transfer control method

Country Status (1)

Country Link
JP (1) JP4155545B2 (en)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006260372A (en) * 2005-03-18 2006-09-28 Fujitsu Ltd Information processing device, high speed starting method, and program
US7681058B2 (en) 2004-09-10 2010-03-16 Fujitsu Limited Information processing apparatus and power supply control method
US7739419B2 (en) 2007-05-23 2010-06-15 Seiko Epson Corporation Data transfer control device and electronic instrument
JP2012074020A (en) * 2010-08-30 2012-04-12 Vmware Inc System software interface for space-optimized block device
JP2012514787A (en) * 2009-01-05 2012-06-28 マーベル ワールド トレード リミテッド Hibernate or suspend method and system utilizing a non-volatile memory device
US8443187B1 (en) 2007-04-12 2013-05-14 Marvell International Ltd. Authentication of computing devices in server based on mapping between port identifier and MAC address that allows actions-per-group instead of just actions-per-single device
US8510560B1 (en) 2008-08-20 2013-08-13 Marvell International Ltd. Efficient key establishment for wireless networks
US8688968B2 (en) 2008-09-18 2014-04-01 Marvell World Trade Ltd. Preloading an application while an operating system loads
US8839016B2 (en) 2007-07-23 2014-09-16 Marvell World Trade Ltd. USB self-idling techniques
US8843686B1 (en) 2007-04-05 2014-09-23 Marvell International Ltd. Processor management using a buffer
US9075604B2 (en) 2010-08-04 2015-07-07 Sony Corporation Device and method for determining whether to hold data in a memory area before transitioning to a power saving state
US9141394B2 (en) 2011-07-29 2015-09-22 Marvell World Trade Ltd. Switching between processor cache and random-access memory
US9436629B2 (en) 2011-11-15 2016-09-06 Marvell World Trade Ltd. Dynamic boot image streaming
US9575768B1 (en) 2013-01-08 2017-02-21 Marvell International Ltd. Loading boot code from multiple memories
US9736801B1 (en) 2013-05-20 2017-08-15 Marvell International Ltd. Methods and apparatus for synchronizing devices in a wireless data communication system
US9836306B2 (en) 2013-07-31 2017-12-05 Marvell World Trade Ltd. Parallelizing boot operations
US9860862B1 (en) 2013-05-21 2018-01-02 Marvell International Ltd. Methods and apparatus for selecting a device to perform shared functionality in a deterministic and fair manner in a wireless data communication system

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7681058B2 (en) 2004-09-10 2010-03-16 Fujitsu Limited Information processing apparatus and power supply control method
US9459690B2 (en) 2004-09-10 2016-10-04 Fujitsu Limited Information processing apparatus and power supply control method
JP2006260372A (en) * 2005-03-18 2006-09-28 Fujitsu Ltd Information processing device, high speed starting method, and program
US7644292B2 (en) 2005-03-18 2010-01-05 Fujitsu Limited Information processing apparatus, quick activation method, and storage medium
US8843686B1 (en) 2007-04-05 2014-09-23 Marvell International Ltd. Processor management using a buffer
US9253175B1 (en) 2007-04-12 2016-02-02 Marvell International Ltd. Authentication of computing devices using augmented credentials to enable actions-per-group
US8443187B1 (en) 2007-04-12 2013-05-14 Marvell International Ltd. Authentication of computing devices in server based on mapping between port identifier and MAC address that allows actions-per-group instead of just actions-per-single device
US7739419B2 (en) 2007-05-23 2010-06-15 Seiko Epson Corporation Data transfer control device and electronic instrument
US8839016B2 (en) 2007-07-23 2014-09-16 Marvell World Trade Ltd. USB self-idling techniques
US9769653B1 (en) 2008-08-20 2017-09-19 Marvell International Ltd. Efficient key establishment for wireless networks
US8510560B1 (en) 2008-08-20 2013-08-13 Marvell International Ltd. Efficient key establishment for wireless networks
US8688968B2 (en) 2008-09-18 2014-04-01 Marvell World Trade Ltd. Preloading an application while an operating system loads
US9652249B1 (en) 2008-09-18 2017-05-16 Marvell World Trade Ltd. Preloading an application while an operating system loads
US8443211B2 (en) 2009-01-05 2013-05-14 Marvell World Trade Ltd. Hibernation or suspend using a non-volatile-memory device
JP2012514787A (en) * 2009-01-05 2012-06-28 マーベル ワールド トレード リミテッド Hibernate or suspend method and system utilizing a non-volatile memory device
US9075604B2 (en) 2010-08-04 2015-07-07 Sony Corporation Device and method for determining whether to hold data in a memory area before transitioning to a power saving state
JP2012074020A (en) * 2010-08-30 2012-04-12 Vmware Inc System software interface for space-optimized block device
JP2014029700A (en) * 2010-08-30 2014-02-13 Vmware Inc System software interface for space-optimized block device
US9141394B2 (en) 2011-07-29 2015-09-22 Marvell World Trade Ltd. Switching between processor cache and random-access memory
US9436629B2 (en) 2011-11-15 2016-09-06 Marvell World Trade Ltd. Dynamic boot image streaming
US9575768B1 (en) 2013-01-08 2017-02-21 Marvell International Ltd. Loading boot code from multiple memories
US9736801B1 (en) 2013-05-20 2017-08-15 Marvell International Ltd. Methods and apparatus for synchronizing devices in a wireless data communication system
US9860862B1 (en) 2013-05-21 2018-01-02 Marvell International Ltd. Methods and apparatus for selecting a device to perform shared functionality in a deterministic and fair manner in a wireless data communication system
US9836306B2 (en) 2013-07-31 2017-12-05 Marvell World Trade Ltd. Parallelizing boot operations

Also Published As

Publication number Publication date
JP4155545B2 (en) 2008-09-24

Similar Documents

Publication Publication Date Title
US6073206A (en) Method for flashing ESCD and variables into a ROM
US6243831B1 (en) Computer system with power loss protection mechanism
US5630052A (en) System development and debug tools for power management functions in a computer system
US7917740B1 (en) Virtualization assist for legacy x86 floating point exception handling
US6546472B2 (en) Fast suspend to disk
US5706514A (en) Distributed execution of mode mismatched commands in multiprocessor computer systems
US20060242398A1 (en) Booting from non-volatile memory
EP1035472A2 (en) Loading configuration data
US7302534B2 (en) Dual media storage device
EP1015976B1 (en) Data transfer to a non-volatile storage medium
US5951685A (en) Computer system with system ROM including serial-access PROM coupled to an auto-configuring memory controller and method of shadowing BIOS code from PROM
US20090150588A1 (en) Hard Disk Drive Cache Memory and Playback Device
US5721937A (en) Method and apparatus for reducing power consumption in a computer system by placing the CPU in a low power mode
EP2380081B1 (en) Method and system for hibernation or suspend using a non-volatile-memory device
US4984149A (en) Memory access control apparatus
JP5128677B2 (en) A system and method for fast platform hibernation and resume
JP3943665B2 (en) Sleep control method, and event notification method
EP0847001A2 (en) Method and arrangement for allowing a computer to communicate with a data storage device
US5937433A (en) Method of controlling hard disk cache to reduce power consumption of hard disk drive used in battery powered computer
JP3266560B2 (en) The information processing system and control method thereof
EP0518339A2 (en) Microcomputer resume function for enhanced microprocessor operating modes and a method for traversing such modes
US6336161B1 (en) Computer configuration system and method with state and restoration from non-volatile semiconductor memory
JP3442100B2 (en) How to save the system image of the computer system and a computer system for implementing this method
JP2691140B2 (en) The information processing apparatus and control method thereof
US5796984A (en) Operating system independent apparatus and method for eliminating peripheral device functions

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040301

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060731

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060808

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061010

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070417

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070613

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070620

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080704

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080707

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

Free format text: PAYMENT UNTIL: 20110718

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110718

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120718

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees