JP3186905B2 - Computer both endian firmware system boot - Google Patents

Computer both endian firmware system boot


Publication number
JP3186905B2 JP15282093A JP15282093A JP3186905B2 JP 3186905 B2 JP3186905 B2 JP 3186905B2 JP 15282093 A JP15282093 A JP 15282093A JP 15282093 A JP15282093 A JP 15282093A JP 3186905 B2 JP3186905 B2 JP 3186905B2
Prior art keywords
byte order
computer system
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 - Lifetime
Application number
Other languages
Japanese (ja)
Other versions
JPH07234781A (en
エス.ザリン サエード
ロドリゲス ロバート
Original Assignee
ミップス テクノロジーズ インコーポレイテッド
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
Priority to US07/901,910 priority Critical patent/US5408664A/en
Priority to US07/901,910 priority
Application filed by ミップス テクノロジーズ インコーポレイテッド filed Critical ミップス テクノロジーズ インコーポレイテッド
Publication of JPH07234781A publication Critical patent/JPH07234781A/en
Application granted granted Critical
Publication of JP3186905B2 publication Critical patent/JP3186905B2/en
Anticipated expiration legal-status Critical
Application status is Expired - Lifetime legal-status Critical



    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors



【0001】 [0001]

【産業上の利用分野】本発明は一般的にはコンピュータシステムに関するものであり、特に異なったバイト順(b The present invention relates generally relates to computer systems and, more particularly different byte order (b
yte order)にコンピュータシステムを構築する技術に関するものである。 yte order) is a technique for building a computer system to.

【0002】 [0002]

【従来技術】コンピュータシステムは2種類のバイト順、すなわちビッグエンディアン(big-endian)とリトルエンディアン(little-endian) に分けられる。 [Prior art] computer system is two types of byte order, that is, separated from the big-endian (big-endian) in little-endian (little-endian). ビッグエンディアン機は1語(32ビット) において0番から3番のバイトの順で数値を表し(また64ビットで1語の場合は0番から7番のバイトの順で)、0番のバイトが符号ビットと最上位ビットを持っている。 Big-endian machine (in the order of addition 7 from No. 0 No. If one word in 64-bit bytes) one word at (32 bits) represents a number from 0 number in the order of the third byte, the 0th byte There have the most significant bit and the sign bit. 半語(16 Half words (16
ビット) では、ビッグエンディアン機は0番と1番のバイトで数値を表し、0番のバイトが符号ビットと最上位ビットを持っている。 The bit), big-endian machine represents a numeric value in the No. 0 and No. 1 byte, 0 number of bytes have the most significant bit and the sign bit. リトルエンディアン機では1語を3番から0番のバイトの順で数値を表す。 It is a little-endian machine represents a number one word in the order of No. 0 bytes from the third. 3番のバイトが符号ビットと最上位ビットを持っている。 No. 3 bytes have the most significant bit and the sign bit. 半語(1 Half-words (1
6ビット) では、リトルエンディアン機は0番と1番のバイトで数値を表し、1番のバイトが符号ビットと最上位ビットを持っている。 In the 6-bit), little-endian machine represents a numeric value in the No. 0 and No. 1 byte, No. 1 of the byte has the most significant bit and the sign bit. コンピュータシステムのCP CP of the computer system
U、ファームウェアおよびI/O(入出力)システムのバイト順(エンディアンネス、endianness)がそのシステムを実行することのできるオペレーティングシステムの種類やバイナリーコード(2進符号)を指令する。 U, firmware and I / O (input-output) byte order of the system (endianness, endianness) to command the operating system type and binary code (binary code) that can run the system.

【0003】コンピュータシステムは通常はエンドユーザによっては変えることのできない特定のバイト順で製造される。 [0003] Computer systems are usually manufactured in the order specific byte that can not be alters by the end user. 製造者はCPUおよびI/O制御装置のような構成要素をどちらのバイト順方式でも作動するよう構成可能に設計してあっても、ファームウェアは普通どちらか1つの方式である。 The manufacturer also each other with configurable designed to operate in either byte order type components such as CPU and I / O controller, the firmware is usually either a single scheme. このように、両バイト順に適合可能な構成要素は普通コンピュータファームウェアと同じバイト順で作動させるために製造者によって静的に固定化されている。 Thus, components adaptable to order two bytes are statically fixed by the manufacturer in order to operate in the same byte order as the usual computer firmware.

【0004】 [0004]

【発明が解決しようとする課題】残念なことに、ある製造者の標準オペレーティングシステムはビッグエンディアンであり、他はリトルエンディアンである。 The object of the invention is to be Solved Unfortunately, there is a standard operating system of the manufacturer is a big-endian, others are little-endian. 一般的にバイト順を変更するためにソフトウェアをコンパイルし直したり書き換えたりすることは可能であるが、ファームウェアはROMに特定のバイト順で固定化されている。 Although generally be or rewrite recompile the software to change the byte order is available, the firmware is immobilized in a specific byte order in the ROM. このようにハードウェアの構成要素の適合可能性にもかかわらず、マイクロソフトNTオペレーティングシステム(リトルエンディアン)およびMIPS RIS Despite this adaptation of hardware components, Microsoft NT operating system (little-endian) and MIPS RIS
C/OSオペレーティングシステム(ビッグエンディアン)のもとでプログラムを走らせようとするユーザは、 Users who try to run the program under the C / OS operating system (big-endian) is,
可能であればハードウェアに物理的調整を施すか、時には2台の機械を買わなければならない。 Or subjected to a physical adjustment to possible hardware, you must sometimes buy two of the machine.

【0005】 [0005]

【課題を解決するための手段】本発明は要約すると、ソフトウェアによる制御の下でエンドユーザがビッグエンディアンまたはリトルエンディアンのバイト順で作成されたソフトウェアをインストゥール出来るコンピュータファームウェアのバイト順に関するものである。 Means for Solving the Problems The present invention In summary, the present invention relates to byte ordering Instruments Tours can computer firmware software created end user in big-endian byte order or little endian under software control . そのシステムはハードウェアに物理的な調整を施さないでもブート(boot)時にファームウェアの更新とバイト順の変更を行うことをユーザに可能にさせる。 The system makes it possible to the user to make even boot (boot) at the time of change of the update and the byte order of the firmware is not subjected to physical adjustments to the hardware.

【0006】要するに、本発明を具体化するシステムは、開始アドレスに配置されベースファームウェアと称されるプログラムを記憶した第1の不揮発性メモリを包含する。 [0006] In summary, a system embodying the present invention includes a first nonvolatile memory storing the designated program based firmware is placed at the start address. ベースファームウェアは第1のバイト順(実施例ではリトルエンディアン)で作成されている。 Based firmware is written in the first byte order (little-endian in the embodiment). 電源が投入されると、CPUやI/Oシステムは第1のバイト順というデフォルトで設定され、CPUはベースファームウェアを実行する。 When the power is turned on, CPU and I / O system is set by default as the first byte order, CPU executes the base firmware. 本発明によるシステムはまた、どちらのバイト順にもすることができるブートファームウェアと称されるプログラムを記憶した第2の不揮発性(しかし好ましくは書き込み可能な)メモリを含んでいる。 The system according to the invention also the second nonvolatile contain (but preferably writable) memory storing the boot firmware called program can also be in the order which byte. 第2のメモリはまたブートファームウェアのバイト順を特定するサインをも記憶している。 The second memory also stores also a sign that identifies the byte order of the boot firmware.

【0007】当該システムはまたベースファームウェアにおける命令に応答してブートファームウェアにより要求されればハードウェアのバイト順構成を変更するよう作動する再構成電気回路機構を含んでいる。 [0007] The system also includes a reconfigurable electrical circuitry in response to a command in the base firmware which operates to change the hardware byte order structure of if required by the boot firmware. しかしながら、そのような変更は次に行なわれるリセットでのみ可能となる。 However, only possible in reset such changes to be next executed. 特に、 もし必要であれば、その電気回路機構はCPUのバイト順を構成し、 メモリの再配置をする。 In particular, if necessary, the electrical circuitry constitutes a byte order CPU, and the relocation of the memory.
その結果、リセットによってCPUがブートファームウ As a result, CPU boot farm by a reset cormorant
ェアのサインによって特定されたバイト順を想定しそし Assuming the byte order specified by the E A Sign And
てCPUはブートファームウェアの実行を開始する。 Te CPU starts the execution of the boot firmware. Misao
作においてはベースファームウェアは再構成電気回路機構を制御し、それからシステムをリセットする。 Based firmware controls the reconfigurable electrical circuitry in work, then reset the system. I/O I / O
システムのバイト順はCPUのバイト順と同様な方法で Byte order of the system in the byte order and the same way of CPU
構成されるか 、または、リセットの後ブートファームウェアによりプログラム制御下で構成されようにすること Either configuration, or it is so configured under program control by the boot firmware after the reset
もできる It can also be.

【0008】好ましい実施例では、第2のメモリは書き込み可能であり(例えばフラッシュEEPROM)、電源が投入されると、ベースファームウェアはユーザにC [0008] In a preferred embodiment, the second memory is a writable (e.g., flash EEPROM), when the power is turned on, the base firmware C user
PUが再構成電気回路機構に指示する前に第2番目のメモリに書き込まれるべきファームウェアを選択するよう命令することができる。 PU can be instructed to select the firmware to be written to the second memory before instructing the reconstructed electrical circuitry. このように、特定のオペレーティングシステムをブートアップしようとするユーザはそのようにキ−ボードから特定することができ、ハードウェア、ファームウェアおよびソフトウェアが同じ調子で進んでいくことを安心して任せておくことができる。 In this way, users attempting to boot up a particular operating system is so key - can be identified from the board, the hardware, firmware and software should leave with peace of mind that it will proceed in the same vein can.

【0009】本発明の性質および利点は明細書のこれよりあとの記載および図面を参照することによってさらに理解できよう。 [0009] the nature and advantages of the present invention could further understood by reference to the description and the drawings later than this specification.

【0010】 [0010]

【実施例】図1は、本発明を具体化するコンピュータシステム10全体のブロック図である。 DETAILED DESCRIPTION FIG. 1 is a block diagram of the overall computer system 10 embodying the present invention. 当該システムは3 The system 3
つの主たる構成部分、すなわちCPUサブシステム、メモリサブシステムおよびI/Oサブシステムを包含すると考えられる。 One major components, namely CPU subsystem considered to include the memory subsystem and the I / O subsystem. メモリ制御/DMA(direct memory acc Memory control / DMA (direct memory acc
ess )チップセット12はサブシステムの間のデータパスとアドレス指定を制御し、下記の(特に別々には表示していない)もの、すなわち、プロセッサインターフェイス メモリインターフェイス、ビデオインターフェイス、I/Oトランスレーションテーブルとキャッシュ、 ess) chipset 12 controls the data path and addressing between subsystems, the (in particular separate not displayed below) shall, i.e., processor interface memory interface, a video interface, I / O translation tables a cache,
EISAバスインターフェイス、i486両立式主/従インターフェイスおよび8個の従DMAチャネルを包含している。 EISA bus interface encompasses the i486 both type main / sub interface and eight slave DMA channel.

【0011】CPUサブシステムは、実施例ではMIP [0011] The CPU subsystem is, in the embodiment MIP
S R4000 RISCプロセッサであるCPU15 It is an S R4000 RISC processor CPU15
と、第1および第2の直列構成の書き込み可能読み出し専用メモリ(PROM)17と18を包含している。 When encompasses the first and second series configuration writable read-only memory (PROM) 17 and 18. それぞれの直列PROMは開始時にCPUと交信可能なバイト順情報を含むシステムインターフェイス機器構成情報を記憶している。 Each serial PROM stores a system interface device configuration information including a communicable byte order information with the CPU at the start. 直列PROM17はビッグエンディアン方式のための機器構成情報を提供し、一方直列PR Series PROM17 provides device configuration information for the big endian scheme, whereas the series PR
OM18はリトルエンディアン方式のための機器構成情報を提供する。 OM18 is to provide a device configuration information for the little-endian system. ビッグエンディアンとリトルエンディアンという特定された関係は実施例を記述するためのものである。 Relationship specified as big endian and little endian is intended to describe the embodiment. 開始時はどんな時でも、ただひとつの直列PR At the start even when what, only one of the series PR
OMがCPUと情報を交信することが許されている。 OM has been allowed to communicate with the CPU and information. 電源が投入されると、デフォルトは、プロセッサが初めにリトルエンディアン方式で構成さていれるので直列PR When the power is turned on, since the default, the configuration now be had in little-endian system at the beginning processor series PR
OM18の選択である。 OM18 is the selection of.

【0012】メモリサブシステムはシステムメモリ20 [0012] The memory sub-system is the system memory 20
とビデオメモリ22を包含し、それらは本発明に関する限り標準的なものである。 And includes video memory 22, they are intended only standard regarding the present invention. I/Oサブシステム(それらはメモリ上に配置されている)は標準的であって特に記述されない一群の周辺制御装置および周辺装置25を包含している。 I / O subsystem (they are located in the memory) is encompasses a group of peripheral controller and the peripheral device 25 is not specifically described a standard. しかしながら、一対のPROM装置30と32およびリセット制御回路機構35とPROM制御回路機構37は本発明と関連があり、下記に記述される。 However, a pair of PROM device 30 and 32 and the reset control circuitry 35 and PROM control circuitry 37 is related to the present invention are described below.

【0013】PROM装置30および32はオペレーティングシステムをブートするためのシステムファームウェアを含んでいる。 [0013] PROM device 30 and 32 includes a system firmware for booting the operating system. 先行技術においては、単一の装置、 In the prior art, a single device,
典型的にはハードウェアとの低水準でのやり取りのほとんどを指示する128キロビットまたは256キロビットのシステムPROMがあっただけである。 Typically only had 128 kilobits or 256 kilobits system PROM instructing most exchanges at low levels with the hardware. 本発明によれば、以下に説明するように、ブートの処理過程はフェイズ0およびフェイズ1と称される2段階にわたって行われ、PROM30はベースファームウェアまたはフェイズ0ファームウェアと言われているものを記憶しており、PROM32はブートファームウェアまたはフェイズ1ファームウェアと言われているものを記憶している。 According to the present invention, as described below, process of the boot is carried out in two stages referred to as phase 0 and phase 1, PROM 30 stores what is called the base firmware or Phase 0 firmware and, PROM32 has stored the things that are said to boot firmware or phase 1 firmware. 実施例においては、PROM30は操作中内容を絶対に書き換えることのできない64キロビットEPRO In embodiments, PROM 30 can not be rewritten during operation contents absolutely 64 kilobits EPRO
M装置であり、PROM32はもう一方のファームウェア選択指示により書き換えられることのできる瞬時消去書き換え可能メモリ(フラッシュEEPROM)である。 An M unit, PROM 32 is the instantaneous erase rewritable memory which can be rewritten by other firmware selection instruction (flash EEPROM). フェイズ2と呼ばれる追加された段階はオペレーティングシステムが一旦ロード(プログラムを入出力媒体または補助記憶から内部記憶へ読み取ること)され、実行が開始された状態を言う。 Added step called Phase 2 is loaded the operating system once (that read from the input and output medium or auxiliary storage program to the internal storage), refers to a state in which execution is started.

【0014】図2はフラッシュEEPROMの書き込み、リセット後のバイト順、ベースPROMとブートP [0014] FIG. 2 of the flash EEPROM write, byte order after the reset, the base PROM and boot P
ROMのマッピング、メモリ/DMAのバイト順およびシステムの強制リセットを制御するために使われる一群のレジスタを示す拡大ブロック図である。 ROM mapping is an enlarged block diagram illustrating a group of registers used to control the forced reset of the memory / DMA byte order and system. 実際の実行支援論理はPLA(programmable logic arrays) である。 The actual execution support logic is a PLA (programmable logic arrays).

【0015】直列PROM制御回路40はCPU [0015] The series PROM control circuit 40 CPU EB EB
およびCPU And CPU ELと呼ばれる一対のレジスタを含んでおり、それらは直列PROM17と18のどちらか(両方とも可能な状態にある)からのデータを選択するためのマルチプレクサ42を制御する。 Includes a pair of registers, called EL, they controls the multiplexer 42 for selecting data from either of the series PROM17 and 18 (in both ready).

【0016】CPU [0016] CPU EBレジスタはリトルエンディアンであるかビッグエンディアンであるかに関係なく、0 EB register regardless of whether they are big-endian or a little endian, 0
x8000D100の倍長語アドレスに配置している。 They are arranged in doubleword address of x8000D100.
このレジスタに何かが書き込まれると、このレジスタは1にセットされ、ビッグエンディアン直列PROM17 When something is written to this register, this register is set to 1, big-endian series PROM17
を選択する。 To select. CPU CPU EBレジスタはCPU EB register CPU ELレジスタのアドレスに書き込まれることによりクリア(0にセット)され、電源投入リセットにより0にセットされる。 Is cleared (0 set) by being written into the address of the EL register is set to 0 by power-on reset. それは他のどんなリセットにも作用されない。 It is not also act on any other reset.

【0017】CPU [0017] CPU ELレジスタはリトルエンディアンであるかビッグエンディアンであるかに関係なく、0 EL register regardless of whether they are big-endian or a little endian, 0
x8000D200の倍長語アドレスに配置している。 They are arranged in doubleword address of x8000D200.
このレジスタに何かが書き込まれると、このレジスタは1にセットされ、リトルエンディアン直列PROM18 When something is written to this register, this register is set to 1, little endian series PROM18
を選択する。 To select. このレジスタは電源投入リセットでただちに1にセットされ、それは他のどんなリセットにも作用されない。 This register is set immediately to 1 at power-on reset, it is not acting in any other reset.

【0018】リセット制御回路35はエンディアン [0018] The reset control circuit 35 is endian リセットレジスタを含んでおり、それは強制リセットレジスタである。 Includes a reset register, it is a forced reset register. このレジスタに何か値を書き込むと、CP Writing something value to this register, CP
U EBレジスタとCPU EB registers and CPU ELレジスタの値次第で、C Depending on the value of the EL register, C
PUに2つの直列PROMの一つを読ませる。 To read one of the two series PROM to PU. エンディ<br/>アン Endy <br/> Anne リセットレジスタはリセットの間それ自身もクリアする。 Reset register is also cleared during the reset itself. このレジスタはリトルエンディアンであるかビッグエンディアンであるかに関係なく、倍長語のアドレス0x8000D000を有する。 This register regardless of whether they are big-endian or a little endian, with an address 0x8000D000 of double word.

【0019】PROM制御回路37はPROM30と3 [0019] PROM control circuit 37 PROM30 3
2のマッピングを制御するためのMAP64とMAP2 MAP64 for controlling the second mapping and MAP2
56のレジスタ、およびPROM32のプログラミングを制御するためのPGM 56 registers, and PGM for controlling the programming of PROM32 ENABLEレジスタを含んでいる。 It includes the ENABLE register.

【0020】PGM [0020] PGM ENABLEレジスタは読み込み書き込みレジスタでリトルエンディアン方式では0x8 ENABLE register is in little-endian system in read-write register 0x8
00D500に、ビッグエンディアン方式では0x80 In 00D500, 0x80 is a big-endian system
00D507にアクセスされる。 00D507 is accessed. それはベースファームウェアによってフラッシュEEPROMのブートファームウェアを消去したり書き込むために使用される。 It is used for writing or erasing the boot firmware of the flash EEPROM by the base firmware. このレジスタにおいてビット0を1とセットするとフラッシュEPROMに12ボルトが供給される。 12 volts bit 0 in the flash EPROM when 1 and set in this register is supplied. 他のビットは定義されない。 Other bits are not defined. このビットはフラッシュEPROM装置(例えば、AM28F020)のための特別の仕様にしたがったソフトウェアによって作動させられたり、停止させられたりしなければならない。 This bit flash EPROM device (e.g., AM28F020) or are actuated by the software according to the special specifications for must or is stopped.

【0021】MAP64レジスタはPROMのマッピング方式を制御し、リトルエンディアンであるかビッグエンディアンであるかに関係なく倍長語のアドレス0x8 [0021] MAP64 register controls the mapping method of PROM, address regardless of double word of whether they are big-endian or a little endian 0x8
000D300を有する。 With a 000D300. このレジスタに何か値を書き込むと、エンディアン Writing something value to this register, endian リセットレジスタに書き込まれることによって64キロビットPROMは0x1FC0 64 kilobit PROM by being written into the reset register 0x1FC0
0000(開始アドレス)に写像され、256キロビットブートフラッシュEEPROMは0xFC40000 0000 is mapped to (start address), 256 kilobit Bootflash EEPROM 0XFC40000
に写像される。 It is mapped to. MAP64レジスタはMAP256に書き込まれることによってクリアされる。 MAP64 register is cleared by being written to MAP256. このレジスタは電源投入リセットで1にセットされ、他のどんなリセットによっても作用されない。 This register is set to 1 at power-on reset, not act by any other reset.

【0022】MAP256レジスタもまたPROMのマッピング方式を制御し、リトルエンディアンであるかビッグエンディアンであるかに関係なく倍長語のアドレス0x8000D400を有する。 [0022] MAP256 register also controls the mapping method of PROM, with a double word of the address 0x8000D400 regardless of whether they are big-endian or a little endian. このレジスタに何か値を書き込むと、エンディアン Writing something value to this register, endian リセットレジスタに書き込まれることによって、256キロビットフラッシュEE By written to reset register 256 kilobit flash EE
PROMは0x1FC00000(開始アドレス)に写像される。 PROM is mapped to 0x1FC00000 (start address). MAP256レジスタはMAP64に書き込まれることによってクリアされる。 MAP256 register is cleared by being written to MAP64. このレジスタは電源投入リセットで0にセットされ、他のどんなリセットによっても作用されない。 This register is set to 0 at power up reset, not act by any other reset.

【0023】MCT [0023] MCT EBビットレジスタはメモリおよびDMA制御回路12に配置されている。 EB bit registers are arranged in the memory and DMA controller 12. それに書き込みが行われると、レジスタをビッグエンディアン方式にセットする。 And if writing is performed, to set the register to the big-endian system. このレジスタは電源投入と強制リセットでリトルエンディアンにリセットされる。 This register is reset to little endian in a forced reset and power up.

【0024】図3の(a)と(b)はビッグエンディアンであるMIPS RISC/OSオペレーティングシステムまたはリトルエンディアンであるマイクロソフトNTオペレーティングシステムをブートアップする先行技術のシステムにおけるハードウェア、ファームウェア、ソフトウェアの関係を図式的に示したものである。 FIG. 3 (a) and (b) hardware in the prior art system to boot up the Microsoft NT operating system is a MIPS RISC / OS operating system or little endian is big endian, firmware, software relationships the is that diagrammatically shows.
どちらも、ハードウェアとブートPROMは標準的な関係にあり、一群のソフトウェアの存在は上層にある。 Both hardware and boot PROM is located on the standard relationship, the presence of a group of software in the upper layer.

【0025】図3(a)に関して、スタンドアロンシェル(SASH)はブートPROMとハードウェアにインターフェイスし、オペレーティングシステムをロードするのを補助するためにブートPROMにおけるルーチンを支援するためのルーチンを含んでいる。 [0025] With respect to FIG. 3 (a), a stand-alone shell (SASH) is the interface to boot PROM and hardware, which includes routines to support the routine in the boot PROM in order to assist in loading the operating system . MIPS R MIPS R
ISC/OSオペレーティングシステムとはオペレーティングシステムの一部がハードウェアと直接やり取りするように見えるために連係したデバイスドライバ(devic ISC / OS operating system and device drivers associated to look like part of the operating system to interact directly with the hardware (devic
e driver) を有している。 It has an e driver). オペレーティングシステムの最上層には一般的にはハードウェアと直接的にはインターフェイスしいないアプリケーションプログラムが存在している。 The uppermost layer of the operating system to the general direct and hardware are present an application program that is not the interface.

【0026】図3(b)に示されるマイクロソフトNT [0026] Microsoft NT, which is shown in FIG. 3 (b)
オペレーティングシステムに関しては、階層は少しばかり異なっている。 With respect to the operating system, the hierarchy is different a little bit. ハードウェア アブストラクション Hardware Abstraction
レイヤー(HAL)とデバイスドライバはブートPRO Layer (HAL) and the device driver is boot PRO
Mとハードウェアの両方にインターフェイスを提供する。 It provides an interface to both the M and hardware. そして、NTオペレーティングシステムそれ自身はハードウェアと直接的にはインターフェイスしていない。 And, NT operating system itself is the direct and hardware does not interface. 更にその上に、既知の手段に従って、アプリケーションプログラムがオペレーティングシステムにインターフェイスしている。 Further thereon, in accordance with known means, the application program is the interface to the operating system.

【0027】図4は図3に対する本発明の対応図である。 [0027] FIG. 4 is a corresponding view of the present invention to Figure 3. このレベルでの根本的な相違はブーティング(booti Fundamental difference at this level booting (Booti
ng) が、ベースPROM30に記憶されたベースファームウェアと、ブートPROM32に記憶されたブートファームウェアとによって、2段階で行われることである。 ng) is a base firmware stored in the base PROM 30, by the boot firmware that is stored in the boot PROM 32, it is carried out be in two stages. ベースファームウェアとブートファームウェアはハードウェアとの直接のインターフェイスを有している。 Based firmware and boot firmware has a direct interface with the hardware.
ソフトウェアのファームウェアとハードウェアへのインターフェイスによる接続の後続の部分は上記に述べられている。 Subsequent portions of connection by the interface to the software firmware and hardware are described above.

【0028】システムのブートは、フェイズ0または「機器構成フェイズ」と、フェイズ1または「ブートフェイズ」という段階において行なわれる。 The system booting, phase 0 or "device configuration phase" is carried out in stages: Phase 1 or "Boot Phase". フェイズ0ファームウエアはPROM30に配置し、フェイズ1ファームウエアはフラシュEEPROM32に配置する。 Phase 0 firmware arranged PROM 30, phase 1 firmware placed flash EEPROM 32. 図5(a)はフェイズ0のための部分メモリマップである。 5 (a) is a partial memory map for Phase 0. システムはフェイズ0で電源が投入され、そのフェイズでCPUとI/Oサブシステムはリトルエンディアンで作動するよう構成される。 The system power is turned on at phase 0, CPU and I / O subsystem that phase is configured to operate in little endian. フェイズ0で、PROM In Phase 0, PROM
30は能力を与えられ、開始アドレス(実施例では0x 30 is given the ability, the start address (0x in Example
IFC00000)に写像される。 It is mapped to IFC00000). フラシュEEPRO Flash EEPRO
M32は開始アドレスからオフセットされた番地(0x M32 has been offset from the start address address (0x
IFC40000)にアクセス可能となる。 IFC40000) to be accessed. PROM3 PROM3
0におけるすべてのソフトウエアルーチン(フェイズ0 All of the software routine in 0 (Phase 0
ファームウエア)はリトルエンディアン方式で作動するようにコンパイルまたはアセンブルされる。 Firmware) is compiled or assembled to operate in little endian. フェイズ0 Phase 0
ファームウエアは例外を扱ったり、フロッピィディスクからプログラムをロードしたり実行したり、CPUやI Firmware or dealing with the exception, or run to load the program from the floppy disk, CPU and I
/Oバイト順レジスタを制御したり、ソフトウエアのコマンドを通してシステム全体をリセットしたりするのに必要なコードを含んでいる。 To control the / O byte order register contains the code necessary or to reset the entire system through software commands.

【0029】図5(b)はフェイズ1のための部分メモリマップである。 [0029] FIG. 5 (b) is a partial memory map for Phase 1. 以下に記述されるように、フラッシュEEPROMは例外や中断がフェイズ0およびフェイズ1における本来のルーチンに導かれるよう開始アドレスに写像される。 As described below, the flash EEPROM is mapped to the start address to the exception or interruption is guided to the original routine in phase 0 and phase 1.

【0030】図6はフェイズ0のファームウェアのフロー図である。 [0030] FIG. 6 is a flow diagram of the firmware of phase 0. フェイズ0ファームウェアはハードウェアを初期設定し、メモリテストのような基本システム診断を実行し、電源投入時にフロッピィドライブに「インストゥール用ディスケット」が存在するかを点検する。 Phase 0 firmware initializes the hardware, perform basic system diagnosis, such as the memory test, to check whether there is a "diskette for installation Tours" to the floppy drive when the power is turned on. もしそのようなディスケットが見つからなかったら、フェイズ0ファームウェアはサインを読み取ることによってフラッシュEEPROMのバイト順を確定する。 If you could not find such a diskette, Phase 0 firmware to determine the byte order of the flash EEPROM by reading the sign. それからシステムのCPUがリセットの後フラッシュEEPR Flash EEPR then after the system's CPU is reset
OMのサインによって特定されたものと同じバイト順に構成されることを確認する。 To ensure that it is configured in the same byte order as specified by the sign of the OM. これはもしビッグエンディアンが指定されていればリセットの後適切な直列PRO Appropriate series PRO After this reset if it is if specified big-endian
Mを選択するためにCPU CPU in order to select the M EBレジスタに書き込むことを含んでいる。 It includes writing to EB register. フェイズ0ファームウェアはリセット回路とやり取りし、適切なバイト順にセットされたCP CP Phase 0 firmware interact with the reset circuit, which has been set in the order appropriate byte
Uでシステムをブートフェイズに押し進めるリセット系列を発生させる。 Generating a reset sequence to push the system to the boot phase with U.

【0031】もし、「インストゥール用フロッピィティスク」がディスクドライブに見つかったら、フェイズ0 [0031] If, "floppy tee disk for installation Tour" Once you find the disk drive, Phase 0
ファームウェアはフロッピィディスク上のリトルエンディアン方式の「ブート制御」プログラムを読み実行しようとするだろう。 Firmware would try to run read the "boot control" program of the little-endian system on the floppy disk. 対話型「ブート制御」プログラムはユーザをインストゥール時にどちらのオペレーティングシステムが導入されるか決定するよう指令する。 Interactive "boot control" program instructs to determine which of the operating system user during installation Tours are introduced. このプログラムはその後指定されたオペレーティングシステムのバイト順に従ってインストゥール用ディスケット(またはネットワーク)から適切なファームウェアファイルを読み、そのファームウェアをバイト交換し、フラッシュEEPROMを消去し更新する。 This program reads the appropriate firmware files from a diskette for installation Tours (or network) according to the byte order of the subsequent specified operating system, the firmware byte exchange, to erase the flash EEPROM update.

【0032】この時点で、プログラムはインストゥール用フロッピィディスクがドライブになかったとしたところから実行する。 [0032] At this point, the program will run from was a floppy disk for installation Tour was not in the drive. 必要であればサインによって特定されたバイト順で作動するためにリセットでCPUが再構成されるようセットされた後、メモリマッピング回路はリセットでフラッシュEEPROM 32が開始アドレスに写像されるようセットされる。 After being set so that the CPU reset to operate in order bytes specified is reconstructed by sign if necessary, the memory mapping circuit is set so that the flash EEPROM 32 at reset is mapped to the start address . これはMAP256レジスタに書き込むことによって達成される。 This is accomplished by writing the MAP256 register. プログラムはその後ブートフェイズを開始するシステムリセットの Of the system reset program is to then start the boot phase Shea
ーケンスを開始する。 To start the Sequence. リセットで、CPUは選択された直列PROMから構成情報を受け取り、フラッシュEE In reset, CPU receives configuration information from the selected series PROM, flash EE
PROMのブートファームウェアの実行を開始する。 To start the execution of the PROM of the boot firmware. このEEPROMはオペレーティングシステムをブートするのに使われる定型的なファームウェア機能を有している。 This EEPROM has a routine firmware functions used to boot the operating system. そして、いったんブートファームウェアがロードされたオペレーティングシステムに制御を転送するとオペレーションフェイズが開始する。 Then, once the boot firmware operation phase is started and to transfer control to the operating system that has been loaded.

【0033】フロー図はCPUがビッグエンディアンにセットされた段階の後次のリセットでI/Oをビッグエンディアンにセットする段階(かっこでくくられている)が続くことを示している。 The flow diagram shows that the step of setting the I / O to the big endian at the next reset after the step of the CPU is set to big endian (are enclosed in parentheses) followed. これは、I/Oのバイト順をセットするのに好ましい技術である。 This is the preferred technique to set the byte order of the I / O. しかしながら、上記に記述した実施例では、MCT However, in the embodiment described above, MCT EBビットはどちらのリセットでもリトルエンディアンにセットされる。 EB bit is set in the little-endian in either reset. 従って、このビットをビッグエンディアンにセットするのは、必要であれば、ブートファームウェアによるリセットの後行われる。 Therefore, to set this bit to big endian, if necessary, it is done after the reset by the boot firmware.

【0034】 [0034]

【発明の効果】要するに、本発明はバイト順の非互換性の問題に対してエレガントな解決を与えていることがわかる。 Effect of the Invention] In summary, it can be seen that the present invention has given an elegant solution to the incompatibility problem of byte order. バイト順を交換するために段階的にブートする手法は電源のON、OFFなしにソフトウェアによる制御を通してコンピュータファームウェアのバイト順を変更するための機構を提供する。 Method for stepwise boot to exchange byte order provides a mechanism for changing the byte order of computer firmware through control by software power ON, without OFF. その技術はCPU、ファームウェアおよびI/Oの自動的再構成を通してオペレーティングシステムからのCPU、ファームウェアおよびI/Oシステムの基礎をなすバイト順の適応づけと要約される。 The technique consists of a CPU, a is summarized through automatic reconfiguration firmware and I / O CPU from the operating system, and the byte order of the adaptive pickled underlying firmware and I / O system. このように、コンピュータはどちらのバイト順で生成されたソフトウェアでも実行することができる。 Thus, the computer can be run on software that is generated in either byte order.

【0035】上記は本発明の好ましい実施例の完全な記述であるが、種々の変形、代替的構成および等価物が使用されることができる。 [0035] While the above is a complete description of the preferred embodiments of the present invention can be various modifications and alternative constructions, and equivalents are used. それゆえ、上記の記述および図は請求項によって明示された発明の範囲を限定するものとして用いられるべきではない。 Therefore, the description and illustration of the above should not be used as limiting the scope of the explicit invention by the claims.


【図1】本発明を具体化するコンピューシステムのブロック図である。 1 is a block diagram of a computer system embodying the present invention.

【図2】本発明において使用される制御レジスタを示した拡大ブロック図である。 It is an enlarged block diagram showing a control register used in the present invention; FIG.

【図3】(a)および(b)は2つのオペレーティングシステムのための先行技術におけるハードウェア、ソフトウェアおよびファームウェアの関係を示した図である。 3 (a) and (b) is a diagram showing a relationship between hardware, software and firmware in the prior art for the two operating systems.

【図4】本発明によるハードウェア、ソフトウェアおよびファームウェアの関係を示した図である。 [4] hardware according to the invention, is a diagram illustrating a relationship between software and firmware.

【図5】(a)および(b)は本発明によるブート過程におけるフェイズ0とフェイズ1の間の再マッピングを示したメモリマップである。 5 (a) and (b) is a memory map showing the remapping between phase 0 and phase 1 in the boot process according to the present invention.

【図6】本発明によるフェイズ0ファームウェアを示すフローチャートである。 6 is a flowchart illustrating the Phase 0 firmware according to the present invention.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 ロバート ロドリゲス アメリカ合衆国 カリフォルニア 95132 サン ホセ ミント コート 3546 (56)参考文献 特開 平2−23437(JP,A) 特開 平2−184530(JP,A) 特開 昭62−271113(JP,A) 特開 昭58−3015(JP,A) 特開 平2−230440(JP,A) 特開 平1−213717(JP,A) (58)調査した分野(Int.Cl. 7 ,DB名) G06F 9/06 G06F 13/14 G06F 9/445 ────────────────────────────────────────────────── ─── of the front page continued (72) inventor Robert Rodriguez United States California 95132 San Jose mint coat 3546 (56) reference Patent flat 2-23437 (JP, a) JP flat 2-184530 (JP, a) JP open Akira 62-271113 (JP, a) JP Akira 58-3015 (JP, a) JP flat 2-230440 (JP, a) JP flat 1-213717 (JP, a) (58) investigated the field ( Int.Cl. 7, DB name) G06F 9/06 G06F 13/14 G06F 9/445

Claims (8)

    (57)【特許請求の範囲】 (57) [the claims]
  1. 【請求項1】 ビッグエンディアンとリトルエンディア 1. A big-endian and little-endian
    ンの2つのバイト順方式において、第1と第2のバイト順方式のどちらかを特定するための手段であって、該バイト特定手段が電源投入に第1のバイト順方式を特定するデフォルト条件を有するバイト順特定手段と、 該バイト順特定手段に応答して第1と第2のバイト順方式のどちらでの作動にも構成可能なCPUと、 第1のプログラムを含む第1のバイト順によって特徴づけられる第1の情報一式を記憶させた第1の不揮発性メモリと、 第2のプログラムおよび第2の情報一式を特徴づけるバイト順を示すためのデータ項目を含む第2の情報一式を記憶させた第2の不揮発性メモリと、 前記第1の不揮発性メモリおよび第2の不揮発性メモリ In the two-byte order schemes down, a means for specifying either of the first and second byte order type, the byte order specifying means for specifying a first byte order schemes on power up and byte order specifying means having a default condition, and the CPU which can also be configured to operate in either of the first and second byte order scheme in response to the byte order specifying means, first including a first program second information including a first nonvolatile memory having stored a first set of information characterized by byte order, the data item indicating the byte order to characterize the second program and a second set of information a second nonvolatile memory having stored a set, pre-Symbol first nonvolatile memory and a second nonvolatile memory
    からの第1および第2のアドレスへのマッピングの内から一つを選択して提供するために作動し得る、該第1および第2の不揮発性メモリに連結されたアドレスマッピング回路と、 からなる第1および第2のどちらかのバイト順方式でも作動可能なコンピュータシステムにおいて、 該第1の不揮発性メモリから第1のアドレスへのマッピ<br/>ングは、該第1の情報一式を予め定められた開始アドレスにおいてアクセスして開始することができ、該第2の情報一式を該開始アドレスとは別の場所の予め定められ A first and may operate to provide by selecting one from among the mapping to the second address, the address mapping circuit coupled to the first and second non-volatile memory from, consisting in the first and second actuatable computer system in either byte order schemes, mappings <br/> ranging from the first non-volatile memory to the first address in advance the information set of the first determined by accessing the start address can start with, predetermined in a different location from the said start address information set of the second
    たアドレスにおいてアクセスして行なうことができ、 It can be performed by accessing the address, 該第2のアドレスへのマッピングは該第2の情報一式を予め定められた開始アドレスからアクセスして行なうこ This mapping to the second address is performed by accessing a predetermined start address information set of the second
    とができ、 Door can be, 該第1のプログラムは少なくとも以下の動作、すなわち、 どちらのバイト順方式が指示されているかを決定するた First program at least the following operations, i.e., either byte order schemes have to determine whether it is instructed
    めの該第2の情報 一式の中のデータ項目を読み、 該データ項目が第2のバイト順方式を示していた場合にのみ、該バイト順特定手段をリセットでのみ第2のバイト順方式を特定させるようにし、 該データ項目により示されたバイト順方式に関係なく Reading a data item in the second set of information of order, only when the data item showed a second byte order scheme, the second byte order schemes only resets the byte order specifying means so as to identify, regardless byte order scheme shown by the data item,
    リセットでのみ該アドレスマッピング回路が第2のアド The address mapping circuit only reset the second add
    レスへのマッピングを行なうようにさ せ、 It is to perform the mapping to the less, 該CPUの前記リセットを起動することを実行し、 Activating the reset of the CPU, it executes the, それによって、該CPUがリセットされた時 、該第2の情報一式が第2のアドレスの開始アドレスにマッピング Whereby when said CPU has been reset, the mapping information set of said second to the start address of the second address
    され 、該バイト順特定手段が該CPUを該データ項目が示すバイト順方式で作動するよう構成し、該CPUの構成が該第2の情報一式のバイト順と一致した状態で該第2のプログラムが開始することを特徴とするコンピュータシステム。 Is, the byte order specifying means is configured to operate in byte order scheme indicating the CPU is the data item, the CPU configuration the second program in a state that matches the byte order of the second information set of computer system characterized in that but started.
  2. 【請求項2】 該バイト順特定手段が、 該CPUによって読み出し可能で、第1と第2のバイト順にそれぞれ対応する構成情報を有する第1および第2 Wherein said byte order specifying means, can be read by the CPU, the first and second having the configuration information corresponding each of the first and in order of the second byte
    の構成メモリと、 該CPUによってセット可能なレジスタと、 該レジスタの状態に応答して、該CPUに対する該構成メモリの選択された一つに連結して作動可能なデータセレクタとからなる請求項1に記載のコンピュータシステム。 The configuration memory, and settable register by the CPU, in response to the state of the register, according to claim 1 comprising the said configuration selected one to operably linked data selector of the memory to said CPU the computer system according to.
  3. 【請求項3】 該第1の不揮発性メモリが読み出し専用メモリであり、該第2の不揮発性メモリが読み出し書き込みメモリである請求項1に記載のコンピュータシステム。 Wherein said first non-volatile memory is a read-only memory, a computer system according to claim 1 nonvolatile memory of the second is a read write memory.
  4. 【請求項4】 該第2の不揮発性メモリがフラッシュE Wherein said second non-volatile memory is a flash E
    EPROMである請求項3に記載のコンピュータシステム。 The computer system of claim 3 wherein EPROM.
  5. 【請求項5】 第1および第2のバイト順方式のどちらでも作動するよう構成可能なI/Oシステムと、電源投入で第1の方式でI/Oシステムを構成する手段とを有し、 該第2のプログラムが実行された時該I/Oシステムを該データ項目により示されたバイト順方式に構成されるようにした請求項1に記載のコンピュータシステム。 A 5. A configurable I / O system to operate either of first and second byte order scheme, in the first mode at power-on and means for configuring the I / O system, the computer system of claim 1, the Toki該 I / O system the second program is executed and to be configured to the byte order scheme shown by the data item.
  6. 【請求項6】 該データ項目の読み出しに先立って、第3のプログラムを有しユーザがインストールし得る記憶媒体がインストールされているかどうか決定し、そのような記憶媒体が備えられていた場合にのみユーザに該第3のプログラムが該第2のプログラムと置き換えられるべきかどうか明示するよう命令し、ユーザがそのような置き換えを明示した場合にのみ第3のプログラムを第2 6. Prior to reading of the data item, only when the storage medium which a user may install a third program determines whether it is installed, such storage medium were provided and instructs the third program to the user explicitly whether to replace the second program, the third program only when the user explicitly such replacement second
    のプログラムに上書きするという追加動作を該第1のプログラムが生じさせる請求項1に記載のコンピュータシステム。 The computer system of claim 1, said first program causes additional operation that overwrites the program.
  7. 【請求項7】 該ユーザが装入し得る記録媒体がフロッピィーディスクである請求項6に記載のコンピュータシステム。 7. A computer system according to claim 6 recording medium in which the user may charged are floppy disk.
  8. 【請求項8】 2つのバイト順方式の内の選択された1 8. chosen of the two-byte order type 1
    つでコンピュータシステムをブートする方法であって、 One is a method of a computer system to boot, 第1および第2のバイト順のどちらのバイト順方式での作動にも構成可能なCPUを備え、 第1のバイト順によって特徴づけられた第1のプログラムを備え、 オペレーティングシステムをブートするために作動可能な第2のプログラムを備え、 電源投入時に、第1のバイト順方式で作動するように Also includes a configurable CPU to operate in the first and second byte order either byte order type, it comprises a first program which is characterized by a first byte order, to boot the operating system a second program operable, when power is turned on, to operate in the first byte order type C
    PUを構成し、 次に第1のプログラムを実行し、前記第1のプログラム Configure PU, then executes the first program, the first program
    の動作は、第2のプログラムのバイト順を決定し、CP Behavior, to determine the byte order of the second program, CP
    Uをリセットするサブステップを含み、 前記リセットによって、前記第1のプログラムにより決<br/>定されたバイト順でCPUを構成し、第2のプログラムの実行を開始するステップとからなることを特徴とする Includes a sub-step of resetting the U, by the reset, it constitutes the first CPU in the determined <br/> constant byte order by the program, in that it consists of a step of initiating the execution of the second program and wherein
    コンピュータシステムをブートする方法。 How to Boot the computer system.
JP15282093A 1992-06-19 1993-05-31 Computer both endian firmware system boot Expired - Lifetime JP3186905B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US07/901,910 US5408664A (en) 1992-06-19 1992-06-19 System and Method for booting computer for operation in either of two byte-order modes
US07/901,910 1992-06-19

Publications (2)

Publication Number Publication Date
JPH07234781A JPH07234781A (en) 1995-09-05
JP3186905B2 true JP3186905B2 (en) 2001-07-11



Family Applications (1)

Application Number Title Priority Date Filing Date
JP15282093A Expired - Lifetime JP3186905B2 (en) 1992-06-19 1993-05-31 Computer both endian firmware system boot

Country Status (3)

Country Link
US (2) US5408664A (en)
JP (1) JP3186905B2 (en)
DE (1) DE4312250B4 (en)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06161867A (en) * 1992-11-20 1994-06-10 Fujitsu Ltd Controller for memory unit provided in electronic equipment
US5574923A (en) * 1993-05-10 1996-11-12 Intel Corporation Method and apparatus for performing bi-endian byte and short accesses in a single-endian microprocessor
US5630048A (en) * 1994-05-19 1997-05-13 La Joie; Leslie T. Diagnostic system for run-time monitoring of computer operations
US5687337A (en) * 1995-02-24 1997-11-11 International Business Machines Corporation Mixed-endian computer system
US5928349A (en) * 1995-02-24 1999-07-27 International Business Machines Corporation Mixed-endian computing environment for a conventional bi-endian computer system
JPH08286972A (en) * 1995-04-19 1996-11-01 Nec Corp Information processor
US5664194A (en) * 1995-12-04 1997-09-02 Metricom, Inc. Method for autonomously transferring code to a computer without accessing local memory by the central processing unit
US5828884A (en) * 1996-05-23 1998-10-27 Advanced Micro Devices, Inc. Method for compiling a software program and executing on a system which converts data between different endian formats
US5781923A (en) * 1996-05-28 1998-07-14 Hewlett-Packard Company Adding a field to the cache tag in a computer system to indicate byte ordering
KR100502400B1 (en) * 1997-07-31 2005-07-11 삼성전자주식회사 Computer and method for selecting controls of peripheral storage devices
DE19736972C1 (en) * 1997-08-25 1999-01-21 Thomas Schumacher Accelerated booting method for computer system, especially PC
US6119224A (en) * 1998-06-25 2000-09-12 International Business Machines Corporation Fast shift amount decode for VMX shift and vperm instructions
US6279126B1 (en) * 1998-10-30 2001-08-21 Hewlett-Packard Company Method for verifying that a processor is executing instructions in a proper endian mode when the endian mode is changed dynamically
US6625727B1 (en) * 1999-11-23 2003-09-23 Motorola, Inc. Apparatus and method for configuring a data processing system by retrieving a configuration value from storage device using reset vector and configuring parameters after reset
US7236954B1 (en) * 2000-05-22 2007-06-26 Verizon Business Global Llc Fraud detection based on call attempt velocity on terminating number
US6947532B1 (en) 2000-05-22 2005-09-20 Mci, Inc. Fraud detection based on call attempt velocity on originating number
US6591352B2 (en) * 2001-05-31 2003-07-08 Intel Corporation Method and apparatus for executing firmware from a valid startup block
DE10202032A1 (en) * 2002-01-18 2003-07-31 Giesecke & Devrient Gmbh Load and interpret data
US6895489B2 (en) * 2002-08-07 2005-05-17 Hewlett-Packard Development Company, L.P. System and method for operating in endian independent mode
US7139150B2 (en) * 2004-02-10 2006-11-21 Marvell International Ltd. Method and system for head position control in embedded disk drive controllers
US7139905B2 (en) * 2004-04-29 2006-11-21 Microsoft Corporation Dynamic endian switching
WO2006013498A1 (en) * 2004-07-30 2006-02-09 Koninklijke Philips Electronics N.V. Data processing device adaptable to variable external memory size and endianess
JP2006079155A (en) * 2004-09-07 2006-03-23 Hitachi Information Technology Co Ltd Information processor
US7634762B1 (en) 2005-04-19 2009-12-15 Paravirtual Corp. Selective post-compile conversion
US7640553B2 (en) * 2005-09-30 2009-12-29 Intel Corporation Mechanisms to support use of software running on platform hardware employing different endianness
US7721077B2 (en) * 2006-12-11 2010-05-18 Intel Corporation Performing endian conversion
US8275599B2 (en) * 2007-09-25 2012-09-25 Intel Corporation Embedded bus emulation
US8219797B2 (en) * 2008-12-31 2012-07-10 Intel Corporation Method and system to facilitate configuration of a hardware device in a platform
JP5622429B2 (en) * 2010-04-20 2014-11-12 ルネサスエレクトロニクス株式会社 Microcomputer
TWI462103B (en) * 2011-01-19 2014-11-21 Mstar Semiconductor Inc Controller and controlling method for memory and memory system

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4430704A (en) * 1980-01-21 1984-02-07 The United States Of America As Represented By The Secretary Of The Navy Programmable bootstrap loading system
US4679166A (en) * 1983-01-17 1987-07-07 Tandy Corporation Co-processor combination
US4663707A (en) * 1984-05-25 1987-05-05 Scientific Micro Systems, Inc. Multilevel bootstrap apparatus
DE3687124D1 (en) * 1986-02-06 1992-12-17 Mips Computer Systems Inc Functional unit for computer.
US4999808A (en) * 1986-09-26 1991-03-12 At&T Bell Laboratories Dual byte order data processor
US5163145A (en) * 1989-04-25 1992-11-10 Dell Usa L.P. Circuit for determining between a first or second type CPU at reset by examining upper M bits of initial memory reference
US5022077A (en) * 1989-08-25 1991-06-04 International Business Machines Corp. Apparatus and method for preventing unauthorized access to BIOS in a personal computer system
US5261104A (en) * 1990-03-22 1993-11-09 International Business Machines Flexible computer initialization
JP2772103B2 (en) * 1990-03-28 1998-07-02 株式会社東芝 Computer system start-up scheme
DE69124437T2 (en) * 1990-08-09 1997-07-03 Silicon Graphics Inc Method and device for reversing byte order in a computer
US5136711A (en) * 1990-10-17 1992-08-04 Ast Research System for multiple access hard disk partitioning
DE59109125D1 (en) * 1991-02-25 1999-06-10 Siemens Ag EEPROM and method for changing an initialization routine in the EEPROM
US5220654A (en) * 1991-03-28 1993-06-15 International Business Machines Corp. Method and system for managing an operating system definition of a dynamically modifiable i/o configuration
US5257368A (en) * 1991-03-28 1993-10-26 International Business Machines Corp. System for dynamically changing a system I/O configuration by determining differences between current and future configurations and describing differences to software and hardware control blocks

Also Published As

Publication number Publication date
JPH07234781A (en) 1995-09-05
DE4312250A1 (en) 1993-12-23
US5408664A (en) 1995-04-18
US5524245A (en) 1996-06-04
DE4312250B4 (en) 2005-08-25

Similar Documents

Publication Publication Date Title
US5519843A (en) Flash memory system providing both BIOS and user storage capability
US6993649B2 (en) Method of altering a computer operating system to boot and run from protected media
US7475184B2 (en) Systems and methods for providing nonvolatile memory management in wireless phones
CN100565454C (en) System and method for booting from a non-volatile application program and file storage device
US6374353B1 (en) Information processing apparatus method of booting information processing apparatus at a high speed
KR100847613B1 (en) Methods and systems to control virtual machines
US5974546A (en) Apparatus and method to determine cause of failed boot sequence to improve likelihood of successful subsequent boot attempt
US6754818B1 (en) Method and system for bootstrapping from a different boot image when computer system is turned on or reset
EP0597706B1 (en) Solid state peripheral storage device
US6701450B1 (en) System backup and recovery
US5793943A (en) System for a primary BIOS ROM recovery in a dual BIOS ROM computer system
US5136711A (en) System for multiple access hard disk partitioning
US20050198485A1 (en) System and method for a bootable USB memory device
US5694600A (en) Methods and apparatus for booting a computer having a removable media disk drive
JP3212007B2 (en) Start-up method and system of the operating system environment
US6990577B2 (en) Updating a BIOS image by replacing a portion of the BIOS image with a portion of another BIOS image
US5930504A (en) Dynamic nonvolatile memory update in a computer system
US20030012114A1 (en) Computer system having first and second operating systems
US5913058A (en) System and method for using a real mode bios interface to read physical disk sectors after the operating system has loaded and before the operating system device drivers have loaded
JP3137293B2 (en) ata interface architecture that utilizes a state machine
EP1133730B1 (en) Method for flashing a read only memory (rom) chip of a host adapter with updated bios code
US20050005076A1 (en) Mass storage device with boot code
US5999989A (en) Plug-and-play
US4654783A (en) Unique process for loading a microcode control store in a data processing system
KR100395393B1 (en) System, device, and method for communicating with and initializing a computer peripheral

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)


Effective date: 20010410

R250 Receipt of annual fees


R250 Receipt of annual fees


R250 Receipt of annual fees


R250 Receipt of annual fees


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

Free format text: PAYMENT UNTIL: 20090511

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090511

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100511

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110511

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110511

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120511

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20120511

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20130511

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20140511

Year of fee payment: 13

EXPY Cancellation because of completion of term