JPH07234781A - コンピュータブート用両エンディアンファームウェアシステム - Google Patents

コンピュータブート用両エンディアンファームウェアシステム

Info

Publication number
JPH07234781A
JPH07234781A JP15282093A JP15282093A JPH07234781A JP H07234781 A JPH07234781 A JP H07234781A JP 15282093 A JP15282093 A JP 15282093A JP 15282093 A JP15282093 A JP 15282093A JP H07234781 A JPH07234781 A JP H07234781A
Authority
JP
Japan
Prior art keywords
byte order
cpu
program
byte
set
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP15282093A
Other languages
English (en)
Other versions
JP3186905B2 (ja
Inventor
Robert Rodriguez
Saeed S Zarrin
エス.ザリン サエード
ロドリゲス ロバート
Original Assignee
Silicon Graphics Inc
シリコン グラフィックス インコーポレイテッド
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 Silicon Graphics Inc, シリコン グラフィックス インコーポレイテッド filed Critical Silicon Graphics Inc
Publication of JPH07234781A publication Critical patent/JPH07234781A/ja
Application granted granted Critical
Publication of JP3186905B2 publication Critical patent/JP3186905B2/ja
Anticipated expiration legal-status Critical
Application status is Expired - Lifetime legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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; 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; 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

Abstract

(57)【要約】 【目的】 ソフトウェアによる制御の下でエンドユーザ
がビッグエンディアンまたはリトルエンディアンのバイ
ト順で作成されたソフトウェアをインストゥールできる
コンピュータファームウェアシステムを提供すること。 【構成】 第1および第2のバイト順のどちらの方式で
の作動にも構成可能なCPUと、第1のバイト順によっ
て特徴づけられた第1のプログラムと、オペレーティン
グシステムをブートするために作動可能な第2のプログ
ラムとを備えたコンピュータファームウェアシステムに
おいて、電源投入で第1の方式での作動にCPUを構成
し、第2のプログラムのバイト順を決定しCPUをリセ
ットするサブステップを含む第1のプログラムを実行
し、リセットで決定されたバイト順でCPUを構成し第
2のプログラムの実行を開始する。

Description

【発明の詳細な説明】

【0001】

【産業上の利用分野】本発明は一般的にはコンピュータ
システムに関するものであり、特に異なったバイト順(b
yte order)にコンピュータシステムを構築する技術に関
するものである。

【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進符号)を指令する。

【0003】コンピュータシステムは通常はエンドユー
ザによっては変えることのできない特定のバイト順で製
造される。製造者はCPUおよびI/O制御装置のよう
な構成要素をどちらのバイト順方式でも作動するよう構
成可能に設計してあっても、ファームウェアは普通どち
らか1つの方式である。このように、両バイト順に適合
可能な構成要素は普通コンピュータファームウェアと同
じバイト順で作動させるために製造者によって静的に固
定化されている。

【0004】

【発明が解決しようとする課題】残念なことに、ある製
造者の標準オペレーティングシステムはビッグエンディ
アンであり、他はリトルエンディアンである。一般的に
バイト順を変更するためにソフトウェアをコンパイルし
直したり書き換えたりすることは可能であるが、ファー
ムウェアはROMに特定のバイト順で固定化されてい
る。このようにハードウェアの構成要素の適合可能性に
もかかわらず、マイクロソフトNTオペレーティングシ
ステム(リトルエンディアン)およびMIPS RIS
C/OSオペレーティングシステム(ビッグエンディア
ン)のもとでプログラムを走らせようとするユーザは、
可能であればハードウェアに物理的調整を施すか、時に
は2台の機械を買わなければならない。

【0005】

【課題を解決するための手段】本発明は要約すると、ソ
フトウェアによる制御の下でエンドユーザがビッグエン
ディアンまたはリトルエンディアンのバイト順で作成さ
れたソフトウェアをインストゥール出来るコンピュータ
ファームウェアのバイト順に関するものである。そのシ
ステムはハードウェアに物理的な調整を施さないでもブ
ート(boot)時にファームウェアの更新とバイト順の変更
を行うことをユーザに可能にさせる。

【0006】要するに、本発明を具体化するシステム
は、開始アドレスに配置されベースファームウェアと称
されるプログラムを記憶した第1の不揮発性メモリを包
含する。ベースファームウェアは第1のバイト順(実施
例ではリトルエンディアン)で作成されている。電源が
投入されると、CPUやI/Oシステムは第1のバイト
順というデフォルトで設定され、CPUはベースファー
ムウェアを実行する。本発明によるシステムはまた、ど
ちらのバイト順にもすることができるブートファームウ
ェアと称されるプログラムを記憶した第2の不揮発性
(しかし好ましくは書き込み可能な)メモリを含んでい
る。第2のメモリはまたブートファームウェアのバイト
順を特定するサインをも記憶している。

【0007】当該システムはまたベースファームウェア
における指示に応答してブートファームウェアにより要
求されればハードウェアのバイト順構成を変更するよう
作動する再構成電気回路機構を含んでいる。しかしなが
ら、そのような変更は次のリセットでのみ可能となる。
特に、必要であれば、その電気回路機構はCPUのバイ
ト順を構成し、リセットでCPUがブートファームウェ
アのサインによって明示されたバイト順を想定しCPU
がブートファームウェアの実行を開始するようにメモリ
の再配置をする。ベースファームウェアは実行中再構成
電気回路機構を制御し、それからシステムをリセットす
る。I/Oシステムのバイト順はCPUのバイト順と同
様な方法で適合させられるか、または、リセットの後ブ
ートファームウェアによりプログラム制御下で適合させ
られるかもしれない。

【0008】好ましい実施例では、第2のメモリは書き
込み可能であり(例えばフラッシュEEPROM)、電
源が投入されると、ベースファームウェアはユーザにC
PUが再構成電気回路機構に指示する前に第2番目のメ
モリに書き込まれるべきファームウェアを選択するよう
命令することができる。このように、特定のオペレーテ
ィングシステムをブートアップしようとするユーザはそ
のようにキ−ボードから特定することができ、ハードウ
ェア、ファームウェアおよびソフトウェアが同じ調子で
進んでいくことを安心して任せておくことができる。

【0009】本発明の性質および利点は明細書のこれよ
りあとの記載および図面を参照することによってさらに
理解できよう。

【0010】

【実施例】図1は、本発明を具体化するコンピュータシ
ステム10全体のブロック図である。当該システムは3
つの主たる構成部分、すなわちCPUサブシステム、メ
モリサブシステムおよびI/Oサブシステムを包含する
と考えられる。メモリ制御/DMA(direct memory acc
ess )チップセット12はサブシステムの間のデータパ
スとアドレス指定を制御し、下記の(特に別々には表示
していない)もの、すなわち、プロセッサインターフェ
イス メモリインターフェイス、ビデオインターフェイ
ス、I/Oトランスレーションテーブルとキャッシュ、
EISAバスインターフェイス、i486両立式主/従
インターフェイスおよび8個の従DMAチャネルを包含
している。

【0011】CPUサブシステムは、実施例ではMIP
S R4000 RISCプロセッサであるCPU15
と、第1および第2の直列構成の書き込み可能読み出し
専用メモリ(PROM)17と18を包含している。そ
れぞれの直列PROMは開始時にCPUと交信可能なバ
イト順情報を含むシステムインターフェイス機器構成情
報を記憶している。直列PROM17はビッグエンディ
アン方式のための機器構成情報を提供し、一方直列PR
OM18はリトルエンディアン方式のための機器構成情
報を提供する。ビッグエンディアンとリトルエンディア
ンという特定された関係は実施例を記述するためのもの
である。開始時はどんな時でも、ただひとつの直列PR
OMがCPUと情報を交信することが許されている。電
源が投入されると、デフォルトは、プロセッサが初めに
リトルエンディアン方式で構成さていれるので直列PR
OM18の選択である。

【0012】メモリサブシステムはシステムメモリ20
とビデオメモリ22を包含し、それらは本発明に関する
限り標準的なものである。I/Oサブシステム(それら
はメモリ上に配置されている)は標準的であって特に記
述されない一群の周辺制御装置および周辺装置25を包
含している。しかしながら、一対のPROM装置30と
32およびリセット制御回路機構35とPROM制御回
路機構37は本発明と関連があり、下記に記述される。

【0013】PROM装置30および32はオペレーテ
ィングシステムをブートするためのシステムファームウ
ェアを含んでいる。先行技術においては、単一の装置、
典型的にはハードウェアとの低水準でのやり取りのほと
んどを指示する128キロビットまたは256キロビッ
トのシステムPROMがあっただけである。本発明によ
れば、以下に説明するように、ブートの処理過程はフェ
イズ0およびフェイズ1と称される2段階にわたって行
われ、PROM30はベースファームウェアまたはフェ
イズ0ファームウェアと言われているものを記憶してお
り、PROM32はブートファームウェアまたはフェイ
ズ1ファームウェアと言われているものを記憶してい
る。実施例においては、PROM30は操作中内容を絶
対に書き換えることのできない64キロビットEPRO
M装置であり、PROM32はもう一方のファームウェ
ア選択指示により書き換えられることのできる瞬時消去
書き換え可能メモリ(フラッシュEEPROM)であ
る。フェイズ2と呼ばれる追加された段階はオペレーテ
ィングシステムが一旦ロード(プログラムを入出力媒体
または補助記憶から内部記憶へ読み取ること)され、実
行が開始された状態を言う。

【0014】図2はフラッシュEEPROMの書き込
み、リセット後のバイト順、ベースPROMとブートP
ROMのマッピング、メモリ/DMAのバイト順および
システムの強制リセットを制御するために使われる一群
のレジスタを示す拡大ブロック図である。実際の実行支
援論理はPLA(programmable logic arrays) である。

【0015】直列PROM制御回路40はCPU EB
およびCPU ELと呼ばれる一対のレジスタを含んで
おり、それらは直列PROM17と18のどちらか(両
方とも可能な状態にある)からのデータを選択するため
のマルチプレクサ42を制御する。

【0016】CPU EBレジスタはリトルエンディア
ンであるかビッグエンディアンであるかに関係なく、0
x8000D100の倍長語アドレスに配置している。
このレジスタに何かが書き込まれると、このレジスタは
1にセットされ、ビッグエンディアン直列PROM17
を選択する。CPU EBレジスタはCPU ELレジ
スタのアドレスに書き込まれることによりクリア(0に
セット)され、電源投入リセットにより0にセットされ
る。それは他のどんなリセットにも作用されない。

【0017】CPU ELレジスタはリトルエンディア
ンであるかビッグエンディアンであるかに関係なく、0
x8000D200の倍長語アドレスに配置している。
このレジスタに何かが書き込まれると、このレジスタは
1にセットされ、リトルエンディアン直列PROM18
を選択する。このレジスタは電源投入リセットでただち
に1にセットされ、それは他のどんなリセットにも作用
されない。

【0018】リセット制御回路35はエンディアン
セットレジスタを含んでおり、それは強制リセットレジ
スタである。このレジスタに何か値を書き込むと、CP
EBレジスタとCPU ELレジスタの値次第で、C
PUに2つの直列PROMの一つを読ませる。エンディ
アン リセットレジスタはリセットの間それ自身もクリ
アする。このレジスタはリトルエンディアンであるかビ
ッグエンディアンであるかに関係なく、倍長語のアドレ
ス0x8000D000を有する。

【0019】PROM制御回路37はPROM30と3
2のマッピングを制御するためのMAP64とMAP2
56のレジスタ、およびPROM32のプログラミング
を制御するためのPGM ENABLEレジスタを含ん
でいる。

【0020】PGM ENABLEレジスタは読み込み
書き込みレジスタでリトルエンディアン方式では0x8
00D500に、ビッグエンディアン方式では0x80
00D507にアクセスされる。それはベースファーム
ウェアによってフラッシュEEPROMのブートファー
ムウェアを消去したり書き込むために使用される。この
レジスタにおいてビット0を1とセットするとフラッシ
ュEPROMに12ボルトが供給される。他のビットは
定義されない。このビットはフラッシュEPROM装置
(例えば、AM28F020)のための特別の仕様にし
たがったソフトウェアによって作動させられたり、停止
させられたりしなければならない。

【0021】MAP64レジスタはPROMのマッピン
グ方式を制御し、リトルエンディアンであるかビッグエ
ンディアンであるかに関係なく倍長語のアドレス0x8
000D300を有する。このレジスタに何か値を書き
込むと、エンディアン リセットレジスタに書き込まれ
ることによって64キロビットPROMは0x1FC0
0000(開始アドレス)に写像され、256キロビッ
トブートフラッシュEEPROMは0xFC40000
に写像される。MAP64レジスタはMAP256に書
き込まれることによってクリアされる。このレジスタは
電源投入リセットで1にセットされ、他のどんなリセッ
トによっても作用されない。

【0022】MAP256レジスタもまたPROMのマ
ッピング方式を制御し、リトルエンディアンであるかビ
ッグエンディアンであるかに関係なく倍長語のアドレス
0x8000D400を有する。このレジスタに何か値
を書き込むと、エンディアン リセットレジスタに書き込
まれることによって、256キロビットフラッシュEE
PROMは0x1FC00000(開始アドレス)に写
像される。MAP256レジスタはMAP64に書き込
まれることによってクリアされる。このレジスタは電源
投入リセットで0にセットされ、他のどんなリセットに
よっても作用されない。

【0023】MCT EBビットレジスタはメモリおよ
びDMA制御回路12に配置されている。それに書き込
みが行われると、レジスタをビッグエンディアン方式に
セットする。このレジスタは電源投入と強制リセットで
リトルエンディアンにリセットされる。

【0024】図3の(a)と(b)はビッグエンディア
ンであるMIPS RISC/OSオペレーティングシ
ステムまたはリトルエンディアンであるマイクロソフト
NTオペレーティングシステムをブートアップする先行
技術のシステムにおけるハードウェア、ファームウェ
ア、ソフトウェアの関係を図式的に示したものである。
どちらも、ハードウェアとブートPROMは標準的な関
係にあり、一群のソフトウェアの存在は上層にある。

【0025】図3(a)に関して、スタンドアロンシェ
ル(SASH)はブートPROMとハードウェアにイン
ターフェイスし、オペレーティングシステムをロードす
るのを補助するためにブートPROMにおけるルーチン
を支援するためのルーチンを含んでいる。MIPS R
ISC/OSオペレーティングシステムとはオペレーテ
ィングシステムの一部がハードウェアと直接やり取りす
るように見えるために連係したデバイスドライバ(devic
e driver) を有している。オペレーティングシステムの
最上層には一般的にはハードウェアと直接的にはインタ
ーフェイスしいないアプリケーションプログラムが存在
している。

【0026】図3(b)に示されるマイクロソフトNT
オペレーティングシステムに関しては、階層は少しばか
り異なっている。ハードウェア アブストラクション
レイヤー(HAL)とデバイスドライバはブートPRO
Mとハードウェアの両方にインターフェイスを提供す
る。そして、NTオペレーティングシステムそれ自身は
ハードウェアと直接的にはインターフェイスしていな
い。更にその上に、既知の手段に従って、アプリケーシ
ョンプログラムがオペレーティングシステムにインター
フェイスしている。

【0027】図4は図3に対する本発明の対応図であ
る。このレベルでの根本的な相違はブーティング(booti
ng) が、ベースPROM30に記憶されたベースファー
ムウェアと、ブートPROM32に記憶されたブートフ
ァームウェアとによって、2段階で行われることであ
る。ベースファームウェアとブートファームウェアはハ
ードウェアとの直接のインターフェイスを有している。
ソフトウェアのファームウェアとハードウェアへのイン
ターフェイスによる接続の後続の部分は上記に述べられ
ている。

【0028】システムのブートは、フェイズ0または
「機器構成フェイズ」と、フェイズ1または「ブートフ
ェイズ」という段階において行われる。フェイズ0ファ
ームウェアはPROM30に配置し、フェイズ1ファー
ムウェアはフラッシュEEPROM32に配置する。図
5(a)はフェイズ0のための部分メモリマップであ
る。システムはフェイズ0で電源が投入され、そのフェ
イズでCPUとI/Oサブシステムはリトルエンディア
ンで作動するよう構成される。フェイズ0で、PROM
30は能力が与えられ、開始アドレス(実施例では0x
IFC00000)に写像される。フラッシュEEPR
OM32は開始アドレスの相対番地(0xIFC400
00)にアクセス可能である。PROM30におけるす
べてのソフトウェアルーチン(フェイズ0ファームウェ
ア)はリトルエンディアン方式で作動するようコンパイ
ルされアセンブルされる。フェイズ0ファームウェアは
例外を扱ったり、フロッピィディスクからプログラムを
ロードしたり実行したり、CPUやI/Oバイト順レジ
スタを制御したり、ソフトウェアのコマンドを通してシ
ステム全体をリセットしたりするのに必要なコードを含
んでいる。

【0029】図5(b)はフェイズ1のための部分メモ
リマップである。以下に記述されるように、フラッシュ
EEPROMは例外や中断がフェイズ0およびフェイズ
1における本来のルーチンに導かれるよう開始アドレス
に写像される。

【0030】図6はフェイズ0のファームウェアのフロ
ー図である。フェイズ0ファームウェアはハードウェア
を初期設定し、メモリテストのような基本システム診断
を実行し、電源投入時にフロッピィドライブに「インス
トゥール用ディスケット」が存在するかを点検する。も
しそのようなディスケットが見つからなかったら、フェ
イズ0ファームウェアはサインを読み取ることによって
フラッシュEEPROMのバイト順を確定する。それか
らシステムのCPUがリセットの後フラッシュEEPR
OMのサインによって特定されたものと同じバイト順に
構成されることを確認する。これはもしビッグエンディ
アンが指定されていればリセットの後適切な直列PRO
Mを選択するためにCPU EBレジスタに書き込むこ
とを含んでいる。フェイズ0ファームウェアはリセット
回路とやり取りし、適切なバイト順にセットされたCP
Uでシステムをブートフェイズに押し進めるリセット系
列を発生させる。

【0031】もし、「インストゥール用フロッピィティ
スク」がディスクドライブに見つかったら、フェイズ0
ファームウェアはフロッピィディスク上のリトルエンデ
ィアン方式の「ブート制御」プログラムを読み実行しよ
うとするだろう。対話型「ブート制御」プログラムはユ
ーザをインストゥール時にどちらのオペレーティングシ
ステムが導入されるか決定するよう指令する。このプロ
グラムはその後指定されたオペレーティングシステムの
バイト順に従ってインストゥール用ディスケット(また
はネットワーク)から適切なファームウェアファイルを
読み、そのファームウェアをバイト交換し、フラッシュ
EEPROMを消去し更新する。

【0032】この時点で、プログラムはインストゥール
用フロッピィディスクがドライブになかったとしたとこ
ろから実行する。必要であればサインによって特定され
たバイト順で作動するためにリセットでCPUが再構成
されるようセットされた後、メモリマッピング回路はリ
セットでフラッシュEEPROM25が開始アドレスに
写像されるようセットされる。これはMAP256レジ
スタに書き込むことによって達成される。プログラムは
その後ブートフェイズを開始するシステムリセットの系
列を開始する。リセットで、CPUは選択された直列P
ROMから構成情報を受け取り、フラッシュEEPRO
Mのブートファームウェアの実行を開始する。このEE
PROMはオペレーティングシステムをブートするのに
使われる定型的なファームウェア機能を有している。そ
して、いったんブートファームウェアがロードされたオ
ペレーティングシステムに制御を転送するとオペレーシ
ョンフェイズが開始する。

【0033】フロー図はCPUがビッグエンディアンに
セットされた段階の後次のリセットでI/Oをビッグエ
ンディアンにセットする段階(かっこでくくられてい
る)が続くことを示している。これは、I/Oのバイト
順をセットするのに好ましい技術である。しかしなが
ら、上記に記述した実施例では、MCT EBビットは
どちらのリセットでもリトルエンディアンにセットされ
る。従って、このビットをビッグエンディアンにセット
するのは、必要であれば、ブートファームウェアによる
リセットの後行われる。

【0034】

【発明の効果】要するに、本発明はバイト順の非互換性
の問題に対してエレガントな解決を与えていることがわ
かる。バイト順を交換するために段階的にブートする手
法は電源のON、OFFなしにソフトウェアによる制御
を通してコンピュータファームウェアのバイト順を変更
するための機構を提供する。その技術はCPU、ファー
ムウェアおよびI/Oの自動的再構成を通してオペレー
ティングシステムからのCPU、ファームウェアおよび
I/Oシステムの基礎をなすバイト順の適応づけと要約
される。このように、コンピュータはどちらのバイト順
で生成されたソフトウェアでも実行することができる。

【0035】上記は本発明の好ましい実施例の完全な記
述であるが、種々の変形、代替的構成および等価物が使
用されることができる。それゆえ、上記の記述および図
は請求項によって明示された発明の範囲を限定するもの
として用いられるべきではない。

【図面の簡単な説明】

【図1】本発明を具体化するコンピューシステムのブロ
ック図である。

【図2】本発明において使用される制御レジスタを示し
た拡大ブロック図である。

【図3】(a)および(b)は2つのオペレーティング
システムのための先行技術におけるハードウェア、ソフ
トウェアおよびファームウェアの関係を示した図であ
る。

【図4】本発明によるハードウェア、ソフトウェアおよ
びファームウェアの関係を示した図である。

【図5】(a)および(b)は本発明によるブート過程
におけるフェイズ0とフェイズ1の間の再マッピングを
示したメモリマップである。

【図6】本発明によるフェイズ0ファームウェアを示す
フローチャートである。

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 第1と第2のバイト順方式のどちらかを
    を特定するための手段であって、該バイト特定手段が電
    源投入で第1のバイト順方式を特定するデフォルト条件
    を有するバイト順特定手段と、 該バイト順特定手段に応答して第1と第2のバイト順方
    式のどちらでの作動にも構成可能なCPUと、 第1のプログラムを含む第1のバイト順によって特徴づ
    けられる第1の情報一式を記憶させた第1の不揮発性メ
    モリと、 第2のプログラムおよび第2の情報一式を特徴づけるバ
    イト順を示すデータ項目を含む第2の情報一式を記憶さ
    せた第2の不揮発性メモリと、 第1および第2のアドレスマッピングの内選択されたひ
    とつを提供するために作動し得る、該第1および第2の
    不揮発性メモリに連結されたアドレスマッピング回路
    と、 からなる第1および第2のどちらのバイト順方式でも作
    動可能なコンピュータシステムにおいて、 該第1のアドレスマッピングは該第1の情報一式を予め
    定められた開始アドレスにおいて開始時にアクセス可能
    にし、該第2の情報一式を該開始アドレスから予め定め
    られた置き換えが行われるアドレスにおいてアクセス可
    能とさせ、 該第2のアドレスマッピングは該第2の情報一式を予め
    定められた開始アドレスでアクセス可能とさせ、 該第1のプログラムは実行されたとき少なくとも以下の
    動作、すなわち、 該第2の情報一式の内どちらのバイト順方式が示されて
    いるかを決定するデータ項目を読み、 もし該データ項目が第2のバイト順方式を示していた場
    合にのみ、該バイト順明示手段をリセットでのみ第2の
    バイト順を明示させるようにし、 該データ項目により示されたバイト順方式にもかかわら
    ず、リセットでのみ該アドレスマッピング回路が第2の
    アドレスマッピングを供給するようにさせ、 該CPUのリセットを開始し、 それによって、該CPUがリセットされ、該第2の情報
    一式が該開始アドレスに写像され、該バイト順明示手段
    が該CPUを該データ項目が示すバイト順方式で作動す
    るよう構成し、該CPUの構成が該第2の情報一式のバ
    イト順と一致した状態で該第2のプログラムが開始する
    ことを特徴とするコンピュータシステム。
  2. 【請求項2】 該バイト順明示手段が、 該CPUによって読み出し可能で、第1と第2のバイト
    順にそれぞれ対応する構成情報を有する第1および第2
    の構成メモリと、 該CPUによってセット可能なレジスタと、 該レジスタの状態に応答して、該CPUに対する該構成
    メモリの選択された一つに連結して作動可能なデータセ
    レクタとからなる請求項1に記載のコンピュータシステ
    ム。
  3. 【請求項3】 該第1の不揮発性メモリが読み出し専用
    メモリであり、該第2の不揮発性メモリが読み出し書き
    込みメモリである請求項1に記載のコンピュータシステ
    ム。
  4. 【請求項4】 該第2の不揮発性メモリがフラッシュE
    EPROMである請求項3に記載のコンピュータシステ
    ム。
  5. 【請求項5】 第1および第2のバイト順方式のどちら
    でも作動するよう構成可能なI/Oシステムと、電源投
    入で第1の方式でI/Oシステムを構成する手段とを有
    し、 該第2のプログラムが実行された時該I/Oシステムを
    該データ項目により示されたバイト順方式に構成される
    ようにした請求項1に記載のコンピュータシステム。
  6. 【請求項6】 該データ項目の読み出しに先立って、第
    3のプログラムを有しユーザがインストゥールし得る記
    憶媒体がインストゥールされているかどうか決定し、そ
    のような記録媒体が備えられていた場合にのみユーザに
    該第3のプログラムが該第2のプログラムと置き換えら
    れられるべきかどうか明示するよう命令し、ユーザがそ
    のような置き換えを明示した場合にのみ第3のプログラ
    ムを第2のプログラムに上書きするという追加動作を該
    第1のプログラムが生じさせる請求項1に記載のコンピ
    ュータシステム。
  7. 【請求項7】 該ユーザが装入し得る記録媒体がフロッ
    ピィディスクである請求項6に記載のコンピュータシス
    テム。
  8. 【請求項8】 第1および第2のバイト順のどちらの方
    式での作動にも構成可能なCPUを備え、 第1のバイト順によって特徴づけられた第1のプログラ
    ムを備え、 オペレーティングシステムをブートするために作動可能
    な第2のプログラムを備え、 電源投入で第1の方式での作動にCPUを構成し、 電源投入で、第2のプログラムのバイト順を決定し、C
    PUをリセットするサブステップを含む、第1のプログ
    ラムを実行し、 リセットで、決定されたバイト順でCPUを構成し、第
    2のプログラムの実行を開始するステップからなる、2
    つのバイト順方式の選択された1つでコンピュータシス
    テムをブートする方法。
JP15282093A 1992-06-19 1993-05-31 コンピュータブート用両エンディアンファームウェアシステム Expired - Lifetime JP3186905B2 (ja)

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 true JPH07234781A (ja) 1995-09-05
JP3186905B2 JP3186905B2 (ja) 2001-07-11

Family

ID=25415036

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15282093A Expired - Lifetime JP3186905B2 (ja) 1992-06-19 1993-05-31 コンピュータブート用両エンディアンファームウェアシステム

Country Status (3)

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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08286972A (ja) * 1995-04-19 1996-11-01 Nec Corp 情報処理装置
JP2006079155A (ja) * 2004-09-07 2006-03-23 Hitachi Information Technology Co Ltd 情報処理装置

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06161867A (ja) * 1992-11-20 1994-06-10 Fujitsu Ltd 電子機器に設けられたメモリユニットの制御装置
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
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 (ko) * 1997-07-31 2005-07-11 삼성전자주식회사 복수의주변저장장치선택제어기능을갖는컴퓨터및그선택제어방법
DE19736972C1 (de) * 1997-08-25 1999-01-21 Thomas Schumacher Verfahren und Vorrichtung zum beschleunigten Hochfahren eines Personal Computers
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 (de) * 2002-01-18 2003-07-31 Giesecke & Devrient Gmbh Laden und Interpretieren von Daten
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
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 (ja) * 2010-04-20 2014-11-12 ルネサスエレクトロニクス株式会社 マイクロコンピュータ
TWI462103B (zh) * 2011-01-19 2014-11-21 Mstar Semiconductor Inc 記憶體控制器、記憶體控制方法及記憶體系統

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 (de) * 1986-02-06 1992-12-17 Mips Computer Systems Inc Funktionseinheit fuer rechner.
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 (ja) * 1990-03-28 1998-07-02 株式会社東芝 計算機システム立上げ方式
DE69124437T2 (de) * 1990-08-09 1997-07-03 Silicon Graphics Inc Verfahren und Vorrichtung zum Umkehren von Byteordnung in einem Rechner
US5136711A (en) * 1990-10-17 1992-08-04 Ast Research System for multiple access hard disk partitioning
DE59109125D1 (de) * 1991-02-25 1999-06-10 Siemens Ag EEPROM und Verfahren zum Ändern einer Initialisierungsroutine im 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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08286972A (ja) * 1995-04-19 1996-11-01 Nec Corp 情報処理装置
JP2006079155A (ja) * 2004-09-07 2006-03-23 Hitachi Information Technology Co Ltd 情報処理装置

Also Published As

Publication number Publication date
JP3186905B2 (ja) 2001-07-11
DE4312250A1 (de) 1993-12-23
US5408664A (en) 1995-04-18
US5524245A (en) 1996-06-04
DE4312250B4 (de) 2005-08-25

Similar Documents

Publication Publication Date Title
US5579522A (en) Dynamic non-volatile memory update in a computer system
KR100671153B1 (ko) 디바이스 드라이버 설치방법
CA2044522C (en) Apparatus and method for loading a system reference diskette image from a system partition in a personal computer system
KR100847613B1 (ko) 가상 기계 제어 방법 및 시스템
US5535357A (en) Flash memory system providing both BIOS and user storage capability
US6754818B1 (en) Method and system for bootstrapping from a different boot image when computer system is turned on or reset
US9678761B2 (en) Technology for selectively updating memory-resident images
US5974546A (en) Apparatus and method to determine cause of failed boot sequence to improve likelihood of successful subsequent boot attempt
US7490177B2 (en) System method for performing a direct memory access for automatically copying initialization boot code in a new memory architecture
CA2227636C (en) Apparatus and method for allowing an operating system to persist across a power off/on cycle
US7340566B2 (en) System and method for initializing a memory device from block oriented NAND flash
US7908466B2 (en) Method and apparatus for booting a microprocessor system using boot code stored on a serial flash memory array having a random-access interface
US6457069B1 (en) Method and apparatus for providing support for dynamic resource assignment and configuration of peripheral devices when enabling or disabling plug-and-play aware operating systems
EP0417889B1 (en) Protection method and apparatus for computer system
US5802363A (en) Bios dynamic emulation of multiple diskettes from a single media
CA1293821C (en) Computer system having mode independent addressing
US5214695A (en) Apparatus and method for loading a system reference diskette image from a system partition in a personal computer system
US4868780A (en) Emulation circuit for interfacing joystick to ROM cartridge slot of computer
CA1224573A (en) Data processing system with memory hierarchy
US20040117610A1 (en) Method of altering a computer operating system to boot and run from protected media
US5586324A (en) Computer system having system feature extension software containing a self-describing feature table for accessing I/O devices according to machine independent format
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
US7322029B2 (en) Method and system for recovering program code in a computer system
JP3212007B2 (ja) オペレーティング・システム環境の起動方法およびシステム

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