JP3186905B2 - Dual-endian firmware system for computer boot - Google Patents

Dual-endian firmware system for computer boot

Info

Publication number
JP3186905B2
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
Authority
JP
Japan
Prior art keywords
program
byte order
byte
cpu
information
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
JP15282093A
Other languages
Japanese (ja)
Other versions
JPH07234781A (en
Inventor
エス.ザリン サエード
ロドリゲス ロバート
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
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
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Description

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

【0001】[0001]

【産業上の利用分野】本発明は一般的にはコンピュータ
システムに関するものであり、特に異なったバイト順(b
yte order)にコンピュータシステムを構築する技術に関
するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates generally to computer systems, and more particularly to different byte orders (b).
This is related to the technology for constructing computer systems in yte order.

【0002】[0002]

【従来技術】コンピュータシステムは2種類のバイト
順、すなわちビッグエンディアン(big-endian)とリトル
エンディアン(little-endian) に分けられる。ビッグエ
ンディアン機は1語(32ビット) において0番から
3番のバイトの順で数値を表し(また64ビットで1語
の場合は0番から7番のバイトの順で)、0番のバイト
が符号ビットと最上位ビットを持っている。半語(16
ビット) では、ビッグエンディアン機は0番と1番の
バイトで数値を表し、0番のバイトが符号ビットと最上
位ビットを持っている。リトルエンディアン機では1語
を3番から0番のバイトの順で数値を表す。3番のバイ
トが符号ビットと最上位ビットを持っている。半語(1
6ビット) では、リトルエンディアン機は0番と1番
のバイトで数値を表し、1番のバイトが符号ビットと最
上位ビットを持っている。コンピュータシステムのCP
U、ファームウェアおよびI/O(入出力)システムの
バイト順(エンディアンネス、endianness)がそのシス
テムを実行することのできるオペレーティングシステム
の種類やバイナリーコード(2進符号)を指令する。
2. Description of the Related Art Computer systems can be divided into two types of byte order: big-endian and little-endian. The big-endian machine expresses a numerical value in the order of the 0th to 3rd bytes in one word (32 bits) (and in the case of a 64-bit one word, in the order of the 0th to 7th bytes), Has a sign bit and a most significant bit. Half a word (16
), The big endian machine represents the numerical value with the 0th and 1st bytes, and the 0th byte has a sign bit and the most significant bit. In a little endian machine, one word represents a numerical value in the order of the third to zeroth bytes. The third byte has a sign bit and a most significant bit. Half a word (1
(6 bits), the little endian machine represents a numerical value with the 0th and 1st bytes, and the 1st byte has a sign bit and the most significant bit. Computer system CP
The byte order (endianness) of the U, firmware and I / O (input / output) systems dictates the type of operating system or binary code (binary code) that can execute the system.

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

【0004】[0004]

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

【0005】[0005]

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

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

【0007】当該システムはまたベースファームウェア
における命令に応答してブートファームウェアにより要
求されればハードウェアのバイト順構成を変更するよう
作動する再構成電気回路機構を含んでいる。しかしなが
ら、そのような変更は次に行なわれるリセットでのみ可
能となる。特に、もし必要であれば、その電気回路機構
はCPUのバイト順を構成し、メモリの再配置をする。
その結果、リセットによってCPUがブートファームウ
ェアのサインによって特定されたバイト順を想定しそし
てCPUはブートファームウェアの実行を開始する。操
作においてはベースファームウェアは再構成電気回路機
構を制御し、それからシステムをリセットする。I/O
システムのバイト順はCPUのバイト順と同様な方法で
構成されるか、または、リセットの後ブートファームウ
ェアによりプログラム制御下で構成されようにすること
もできる
[0007] The system also includes reconfigurable circuitry operable to change the byte order configuration of the hardware as required by the boot firmware in response to instructions in the base firmware. However, such a change is only possible with a subsequent reset. In particular, if necessary, the circuitry configures the CPU byte order and relocates the memory.
As a result, the CPU resets the boot firmware
Assuming the byte order specified by the hardware signature
The CPU starts executing the boot firmware. Operation
In operation, the base firmware controls the reconfigurable electronics and then resets the system. I / O
The byte order of the system is similar to the byte order of the CPU.
Either configuration, or it is so configured under program control by the boot firmware after the reset
Can also .

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

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

【0010】[0010]

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

【0011】CPUサブシステムは、実施例ではMIP
S R4000 RISCプロセッサであるCPU15
と、第1および第2の直列構成の書き込み可能読み出し
専用メモリ(PROM)17と18を包含している。そ
れぞれの直列PROMは開始時にCPUと交信可能なバ
イト順情報を含むシステムインターフェイス機器構成情
報を記憶している。直列PROM17はビッグエンディ
アン方式のための機器構成情報を提供し、一方直列PR
OM18はリトルエンディアン方式のための機器構成情
報を提供する。ビッグエンディアンとリトルエンディア
ンという特定された関係は実施例を記述するためのもの
である。開始時はどんな時でも、ただひとつの直列PR
OMがCPUと情報を交信することが許されている。電
源が投入されると、デフォルトは、プロセッサが初めに
リトルエンディアン方式で構成さていれるので直列PR
OM18の選択である。
The CPU subsystem is a MIP in the embodiment.
CPU15 which is SR4000 RISC processor
And writable read only memories (PROMs) 17 and 18 in first and second serial configurations. Each serial PROM stores system interface device configuration information including byte order information that can communicate with the CPU at the start. Serial PROM 17 provides device configuration information for the big endian system, while serial PR
The OM 18 provides device configuration information for the little endian system. The specified relationship between big endian and little endian is for describing the embodiment. At any time at the start, only one series PR
The OM is allowed to exchange information with the CPU. When the power is turned on, the default is the serial PR because the processor is initially configured in little endian mode.
This is the selection of OM18.

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

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

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

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

【0016】CPU EBレジスタはリトルエンディア
ンであるかビッグエンディアンであるかに関係なく、0
x8000D100の倍長語アドレスに配置している。
このレジスタに何かが書き込まれると、このレジスタは
1にセットされ、ビッグエンディアン直列PROM17
を選択する。CPU EBレジスタはCPU ELレジ
スタのアドレスに書き込まれることによりクリア(0に
セット)され、電源投入リセットにより0にセットされ
る。それは他のどんなリセットにも作用されない。
CPU The EB register is set to 0 regardless of whether it is little endian or big endian.
It is located at the double word address of x8000D100.
When something is written to this register, this register is set to 1 and the big endian serial PROM 17
Select CPU EB register is CPU It is cleared (set to 0) by writing to the address of the EL register, and is set to 0 by a power-on reset. It is not affected by any other reset.

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

【0018】リセット制御回路35はエンディアン
セットレジスタを含んでおり、それは強制リセットレジ
スタである。このレジスタに何か値を書き込むと、CP
EBレジスタとCPU ELレジスタの値次第で、C
PUに2つの直列PROMの一つを読ませる。エンディ
アン リセットレジスタはリセットの間それ自身もクリ
アする。このレジスタはリトルエンディアンであるかビ
ッグエンディアンであるかに関係なく、倍長語のアドレ
ス0x8000D000を有する。
The reset control circuit 35 is endian. Re
Includes a set register, which is a forced reset register.
It is a star. When writing any value to this register, CP
U EB register and CPU Depending on the value of the EL register, C
Have the PU read one of the two serial PROMs. Endy
Ann The reset register clears itself during reset.
A. This register is little-endian or
Double-word address, regardless of endianness
0x8000D000.

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

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

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

【0022】MAP256レジスタもまたPROMのマ
ッピング方式を制御し、リトルエンディアンであるかビ
ッグエンディアンであるかに関係なく倍長語のアドレス
0x8000D400を有する。このレジスタに何か値
を書き込むと、エンディアン リセットレジスタに書き込
まれることによって、256キロビットフラッシュEE
PROMは0x1FC00000(開始アドレス)に写
像される。MAP256レジスタはMAP64に書き込
まれることによってクリアされる。このレジスタは電源
投入リセットで0にセットされ、他のどんなリセットに
よっても作用されない。
The MAP256 register is also a PROM
Control the wrapping method, and
Doubleword address, regardless of endianness
It has 0x8000D400. Any value in this register
And endian Write to reset register
256 Kbit Flash EE
PROM is copied to 0x1FC00000 (start address)
Imaged. MAP256 register is written to MAP64
Cleared by being left. This register is powered
Set to 0 upon a power-on reset, to any other reset
Therefore, it is not affected.

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

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

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

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

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

【0028】システムのブートは、フェイズ0または
「機器構成フェイズ」と、フェイズ1または「ブートフ
ェイズ」という段階において行なわれる。フェイズ0フ
ァームウエアはPROM30に配置し、フェイズ1ファ
ームウエアはフラシュEEPROM32に配置する。図
5(a)はフェイズ0のための部分メモリマップであ
る。システムはフェイズ0で電源が投入され、そのフェ
イズでCPUとI/Oサブシステムはリトルエンディア
ンで作動するよう構成される。フェイズ0で、PROM
30は能力を与えられ、開始アドレス(実施例では0x
IFC00000)に写像される。フラシュEEPRO
M32は開始アドレスからオフセットされた番地(0x
IFC40000)にアクセス可能となる。PROM3
0におけるすべてのソフトウエアルーチン(フェイズ0
ファームウエア)はリトルエンディアン方式で作動する
ようにコンパイルまたはアセンブルされる。フェイズ0
ファームウエアは例外を扱ったり、フロッピィディスク
からプログラムをロードしたり実行したり、CPUやI
/Oバイト順レジスタを制御したり、ソフトウエアのコ
マンドを通してシステム全体をリセットしたりするのに
必要なコードを含んでいる。
The booting of the system is performed in the phases of phase 0 or “device configuration phase” and phase 1 or “boot phase”. Phase 0 firmware is located in the PROM 30 and phase 1 firmware is located in the flash EEPROM 32. FIG. 5A is a partial memory map for phase 0. The system is powered on during phase 0, during which phase the CPU and I / O subsystem are configured to operate in little endian. Phase 0, PROM
30 is given the capability and the starting address (0x in the example)
IFC00000). Flash EEPRO
M32 is an address offset from the start address (0x
IFC40000). PROM3
0 for all software routines (phase 0
Firmware) is compiled or assembled to operate in little endian fashion. Phase 0
Firmware handles exceptions, loads and executes programs from floppy disks,
Contains the code needed to control the / O byte order register and reset the entire system through software commands.

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

【0030】図6はフェイズ0のファームウェアのフロ
ー図である。フェイズ0ファームウェアはハードウェア
を初期設定し、メモリテストのような基本システム診断
を実行し、電源投入時にフロッピィドライブに「インス
トゥール用ディスケット」が存在するかを点検する。も
しそのようなディスケットが見つからなかったら、フェ
イズ0ファームウェアはサインを読み取ることによって
フラッシュEEPROMのバイト順を確定する。それか
らシステムのCPUがリセットの後フラッシュEEPR
OMのサインによって特定されたものと同じバイト順に
構成されることを確認する。これはもしビッグエンディ
アンが指定されていればリセットの後適切な直列PRO
Mを選択するためにCPU EBレジスタに書き込むこ
とを含んでいる。フェイズ0ファームウェアはリセット
回路とやり取りし、適切なバイト順にセットされたCP
Uでシステムをブートフェイズに押し進めるリセット系
列を発生させる。
FIG. 6 is a flowchart of the phase 0 firmware. Phase 0 firmware initializes the hardware, performs basic system diagnostics such as memory tests, and checks for the presence of an "installation diskette" in the floppy drive at power up. If no such diskette is found, the phase 0 firmware determines the byte order of the flash EEPROM by reading the signature. Then the system CPU resets the flash EEPROM after reset.
Verify that it is configured in the same byte order as specified by the OM signature. This means that if big endian is specified, the appropriate serial PRO
CPU to select M Writing to the EB register. The phase 0 firmware interacts with the reset circuit and sets the CP in the appropriate byte order.
U generates a reset sequence that pushes the system into the boot phase.

【0031】もし、「インストゥール用フロッピィティ
スク」がディスクドライブに見つかったら、フェイズ0
ファームウェアはフロッピィディスク上のリトルエンデ
ィアン方式の「ブート制御」プログラムを読み実行しよ
うとするだろう。対話型「ブート制御」プログラムはユ
ーザをインストゥール時にどちらのオペレーティングシ
ステムが導入されるか決定するよう指令する。このプロ
グラムはその後指定されたオペレーティングシステムの
バイト順に従ってインストゥール用ディスケット(また
はネットワーク)から適切なファームウェアファイルを
読み、そのファームウェアをバイト交換し、フラッシュ
EEPROMを消去し更新する。
If "Instrument Floppy Disk" is found in the disk drive, Phase 0
The firmware will attempt to read and execute a little-endian "boot control" program on a floppy disk. An interactive "boot control" program instructs the user at installation to determine which operating system is installed. The program then reads the appropriate firmware file from the installation diskette (or network) according to the specified operating system byte order, byte swaps the firmware, erases and updates the flash EEPROM.

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

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

【0034】[0034]

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

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

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

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

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

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

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

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

【図6】本発明によるフェイズ0ファームウェアを示す
フローチャートである。
FIG. 6 is a flowchart illustrating 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 ──────────────────────────────────────────────────続 き Continuation of the front page (72) Robert Rodriguez, Inventor, California 95132 San Jose Mint Court 3546 (56) References JP-A-2-23437 (JP, A) JP-A-2-184530 (JP, A) JP-A-62-271113 (JP, A) JP-A-58-3015 (JP, A) JP-A-2-230440 (JP, A) JP-A-1-213717 (JP, A) (58) Int.Cl. 7 , DB name) G06F 9/06 G06F 13/14 G06F 9/445

Claims (8)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 ビッグエンディアンとリトルエンディア
ンの2つのバイト順方式において、第1と第2のバイト
順方式のどちらかを特定するための手段であって、該バ
イト特定手段が電源投入に第1のバイト順方式を特
定するデフォルト条件を有するバイト順特定手段と、 該バイト順特定手段に応答して第1と第2のバイト順方
式のどちらでの作動にも構成可能なCPUと、 第1のプログラムを含む第1のバイト順によって特徴づ
けられる第1の情報一式を記憶させた第1の不揮発性メ
モリと、 第2のプログラムおよび第2の情報一式を特徴づけるバ
イト順を示すためのデータ項目を含む第2の情報一式を
記憶させた第2の不揮発性メモリと、 前記第1の不揮発性メモリおよび第2の不揮発性メモリ
からの第1および第2のアドレスへのマッピングの内か
一つを選択して提供するために作動し得る、該第1お
よび第2の不揮発性メモリに連結されたアドレスマッピ
ング回路と、 からなる第1および第2のどちらかのバイト順方式でも
作動可能なコンピュータシステムにおいて、該第1の不揮発性メモリから 第1のアドレスへのマッピ
ングは、該第1の情報一式を予め定められた開始アドレ
スにおいてアクセスして開始することができ、該第2の
情報一式を該開始アドレスとは別の場所の予め定められ
たアドレスにおいてアクセスして行なうことができ、 該第2のアドレスへのマッピングは該第2の情報一式を
予め定められた開始アドレスからアクセスして行なうこ
とができ、 該第1のプログラムは少なくとも以下の動作、すなわ
ち、どちらのバイト順方式が指示されているかを決定するた
めの該第2の情報 一式 の中のデータ項目を読み、 該データ項目が第2のバイト順方式を示していた場合に
のみ、該バイト順特定手段をリセットでのみ第2のバイ
ト順方式を特定させるようにし、 該データ項目により示されたバイト順方式に関係なく
リセットでのみ該アドレスマッピング回路が第2のアド
レスへのマッピングを行なうようにさ せ、 該CPUの前記リセットを起動することを実行し、 それによって、該CPUがリセットされた時、該第2の
情報一式が第2のアドレスの開始アドレスにマッピング
され、該バイト順特定手段が該CPUを該データ項目が
示すバイト順方式で作動するよう構成し、該CPUの構
成が該第2の情報一式のバイト順と一致した状態で該第
2のプログラムが開始することを特徴とするコンピュー
タシステム。
(1)Big Endian and Little Endian
In two byte ordering schemes,First and second bytes
Means for specifying one of the
SiteorderSpecified means power onTimeFeatures the first byte order method
Byte order specifying means having a default condition for defining, and first and second byte order methods in response to the byte order specifying means.
Characterized by a CPU configurable for operation in either of the formulas, and a first byte order containing the first program.
A first nonvolatile memory storing a first set of information
Mori and the program that characterizes the second program and the second set of information
Show orderforA second set of information, including data items,
The stored second nonvolatile memory;A first nonvolatile memory and a second nonvolatile memory
fromFirst and second addressesToIn the mapping
LaChoose oneThe first and / or the first operable to provide.
And an address map connected to the second nonvolatile memory
And the first and second byte order schemes comprising
In an operational computer system,From the first non-volatile memory First addressToMappi
The first set of information to a predetermined start address.
In theCan access and start,The second
A set of informationA predetermined location different from the start address
Can be accessed at the address  The second addressToMapping uses the second set of information
Predefined start addressAccess from
And can  The first program isAt least the following actions,Sand
ChiDetermine which byte ordering scheme is indicated
Said second information Set If the data item indicates a second byte ordering scheme,
Only the byte orderspecificSecond reset only by resetting the means
To specify the byte ordering method, and the byte ordering method indicated by the data itemRegardless,
Only when reset, the address mapping circuitSecond ad
To map Let  Of the CPUActivate the reset,Do that,  This resets the CPUWhen, The second
A set of informationOf the second addressTo start addressmapping
Is, The byte orderSpecific meansIs the data item
It operates in the byte order system shown in FIG.
The second set of information matches the byte order of the second set of information.
Computer characterized by the start of the second program
System.
【請求項2】 該バイト順特定手段が、 該CPUによって読み出し可能で、第1と第2のバイト
順にそれぞれ対応する構成情報を有する第1および第2
の構成メモリと、 該CPUによってセット可能なレジスタと、 該レジスタの状態に応答して、該CPUに対する該構成
メモリの選択された一つに連結して作動可能なデータセ
レクタとからなる請求項1に記載のコンピュータシステ
ム。
2. The method according to claim 1, wherein said byte order specifying means is readable by said CPU and has first and second configuration information respectively corresponding to first and second byte orders.
2. A configuration memory, comprising: a register settable by the CPU; and a data selector responsive to a state of the register, operable in conjunction with a selected one of the configuration memories for the CPU. A computer system according to claim 1.
【請求項3】 該第1の不揮発性メモリが読み出し専用
メモリであり、該第2の不揮発性メモリが読み出し書き
込みメモリである請求項1に記載のコンピュータシステ
ム。
3. The computer system according to claim 1, wherein said first nonvolatile memory is a read only memory, and said second nonvolatile memory is a read / write memory.
【請求項4】 該第2の不揮発性メモリがフラッシュE
EPROMである請求項3に記載のコンピュータシステ
ム。
4. The flash memory according to claim 2, wherein said second nonvolatile memory is a flash memory.
4. The computer system according to claim 3, wherein the computer system is an EPROM.
【請求項5】 第1および第2のバイト順方式のどちら
でも作動するよう構成可能なI/Oシステムと、電源投
入で第1の方式でI/Oシステムを構成する手段とを有
し、 該第2のプログラムが実行された時該I/Oシステムを
該データ項目により示されたバイト順方式に構成される
ようにした請求項1に記載のコンピュータシステム。
5. An I / O system configurable to operate in either a first or second byte order scheme, and means for configuring the I / O system in a first scheme upon power up; 2. The computer system according to claim 1, wherein said I / O system is configured in the byte order indicated by said data item when said second program is executed.
【請求項6】 該データ項目の読み出しに先立って、第
3のプログラムを有しユーザがインストールし得る記憶
媒体がインストールされているかどうか決定し、そのよ
うな記憶媒体が備えられていた場合にのみユーザに該第
3のプログラムが該第2のプログラムと置き換えられる
べきかどうか明示するよう命令し、ユーザがそのような
置き換えを明示した場合にのみ第3のプログラムを第2
のプログラムに上書きするという追加動作を該第1のプ
ログラムが生じさせる請求項1に記載のコンピュータシ
ステム。
6. Before reading the data item, it is determined whether a storage medium having a third program and capable of being installed by a user is installed, and only when such a storage medium is provided. Instructing the user to specify whether the third program should be replaced with the second program, and only allow the third program to be replaced by the second program if the user specifies such replacement.
2. The computer system according to claim 1, wherein the first program causes an additional operation of overwriting the first program.
【請求項7】 該ユーザが装入し得る記録媒体がフロッ
ピィーディスクである請求項6に記載のコンピュータシ
ステム。
7. The computer system according to claim 6, wherein the recording medium that can be inserted by the user is a floppy disk.
【請求項8】 2つのバイト順方式の内の選択された1
つでコンピュータシステムをブートする方法であって、 第1および第2のバイト順のどちらのバイト順方式での
作動にも構成可能なCPUを備え、 第1のバイト順によって特徴づけられた第1のプログラ
ムを備え、 オペレーティングシステムをブートするために作動可能
な第2のプログラムを備え、 電源投入時に、第1のバイト順方式で作動するように
PUを構成し、次に第1のプログラムを実行し、前記第1のプログラム
の動作は、 第2のプログラムのバイト順を決定し、CP
Uをリセットするサブステップを含み、前記 リセットによって、前記第1のプログラムにより
定されたバイト順でCPUを構成し、第2のプログラム
の実行を開始するステップとからなることを特徴とする
コンピュータシステムをブートする方法。
8.Selected one of two byte ordering schemes
Booting a computer system with  Either the first or second byte orderByte orderIn the scheme
A first program characterized by a first byte order, comprising a CPU configurable for operation;
Ready to boot operating system
The first program is provided when the power is turned on.Byte ordermethodTo work withC
Configure the PU,Next, a first program is executed, and the first program is executed.
Works Determine the byte order of the second program,
Resetting U,Said resetBy the first programDecision
Configures the CPU in the specified byte order, and
Step to start runningIs characterized by consisting of
How to boot a computer system.
JP15282093A 1992-06-19 1993-05-31 Dual-endian firmware system for computer boot Expired - Lifetime JP3186905B2 (en)

Applications Claiming Priority (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

ID=25415036

Family Applications (1)

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

Country Status (3)

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

Families Citing this family (31)

* 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
US5928349A (en) * 1995-02-24 1999-07-27 International Business Machines Corporation Mixed-endian computing environment for a conventional bi-endian computer system
US5687337A (en) * 1995-02-24 1997-11-11 International Business Machines Corporation Mixed-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
KR100516047B1 (en) * 1996-03-20 2005-11-23 삼성전자주식회사 Computers and their methods for running add-on devices without an operating system
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-11-03 삼성전자주식회사 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 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
DE3687124T2 (en) * 1986-02-06 1993-03-18 Mips Computer Systems Inc FUNCTION 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 startup method
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
EP0500973B1 (en) * 1991-02-25 1999-05-06 Siemens Aktiengesellschaft EEPROM and method for altering a bootstrap routine in the EEPROM
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
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

Also Published As

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

Similar Documents

Publication Publication Date Title
JP3186905B2 (en) Dual-endian firmware system for computer boot
US7886141B2 (en) Method and systems for advanced reprogrammable boot codes and in-application programming of embedded microprocessor systems
US5835760A (en) Method and arrangement for providing BIOS to a host computer
US6122748A (en) Control of computer system wake/sleep transitions
US5854937A (en) Method for reprogramming flash ROM in a personal computer implementing an EISA bus system
US7493484B2 (en) Method and apparatus for executing the boot code of embedded systems
US4663707A (en) Multilevel bootstrap apparatus
US5371876A (en) Computer system with a paged non-volatile memory
US5307497A (en) Disk operating system loadable from read only memory using installable file system interface
US6016402A (en) Method for integrating removable media disk drive into operating system recognized as fixed disk type and modifying operating system to recognize as floppy disk type
US5870520A (en) Flash disaster recovery ROM and utility to reprogram multiple ROMS
US6401198B1 (en) Storing system-level mass storage configuration data in non-volatile memory on each mass storage device to allow for reboot/power-on reconfiguration of all installed mass storage devices to the same configuration as last use
JP4668416B2 (en) Protecting boot block code when enabling write access to the boot block
US7039799B2 (en) Methods and structure for BIOS reconfiguration
US6944867B2 (en) Method for providing a single preloaded software image with an ability to support multiple hardware configurations and multiple types of computer systems
JPH08255084A (en) Upgrade method of eeprom
JPH06266552A (en) Computer system
JPH04233624A (en) Apparatus for protecting system utility in personal computer system
JPH06131266A (en) Method and apparatus for controlling direct execution of program in external memory device, wherein random access is possible and reloadable memory is used
JPH0675754A (en) Method for boosting computer at programmed time
JPH11110218A (en) Firmware rewriting device
US6598157B1 (en) Dynamic boot block control by boot configuration determination and subsequent address modification
KR100223844B1 (en) Option circuit
JP2000163268A (en) Computer
JPH0764795A (en) Computer system

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20010410

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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