JP3033642B2 - Firmware storage device and method - Google Patents
Firmware storage device and methodInfo
- Publication number
- JP3033642B2 JP3033642B2 JP4315223A JP31522392A JP3033642B2 JP 3033642 B2 JP3033642 B2 JP 3033642B2 JP 4315223 A JP4315223 A JP 4315223A JP 31522392 A JP31522392 A JP 31522392A JP 3033642 B2 JP3033642 B2 JP 3033642B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- firmware
- bank
- memory bank
- signal
- 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
Links
Landscapes
- Storage Device Security (AREA)
Description
【0001】[0001]
【産業上の利用分野】本発明は、パーソナル・コンピュ
ータ・システムに関し、具体的には、システム・ファー
ムウェアを記憶するための配置構成に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a personal computer system, and more particularly, to an arrangement for storing system firmware.
【0002】[0002]
【従来の技術】一般にパーソナル・コンピュータ・シス
テム、特にIBMパーソナル・コンピュータは、広範囲
に使用されて、現在の社会の多くの分野に計算機の能力
を提供している。パーソナル・コンピュータ・システム
は、通常は、システム・プロセッサ、表示モニタ、キー
ボード、1つまたは複数のディスケット駆動装置、固定
ディスク記憶装置、「マウス」などの任意指定の指示装
置、および任意指定のプリンタを有する、卓上型、床置
き式または携帯用のコンピュータとして定義することが
できる。これらのシステムは、主に単一のユーザまたは
小さいユーザ集団に独立の計算能力を与えるために設計
されており、個人または企業が購入できるよう安価な価
格設定になっている。このようなパーソナル・コンピュ
ータ・システムの例は、IBMのPERSONAL C
OMPUTER(以下、IBM PCと略す)、PER
SONAL COMPUTER XT(以下、IBM
XTと略す)、PERSONAL COMPUTER
AT(以下、IBM ATと略す)およびIBMのPE
RSONAL SYSTEM/2(以下IBM PS/
2と略す)モデル25、30、50、55、57、6
0、65、70、80、90、95の商標で市販されて
いるものである。BACKGROUND OF THE INVENTION Personal computer systems in general, and IBM personal computers in particular, are widely used to provide computing power to many areas of today's society. Personal computer systems typically include a system processor, a display monitor, a keyboard, one or more diskette drives, fixed disk storage, an optional pointing device such as a "mouse", and an optional printer. Can be defined as a desktop, floor-standing or portable computer having These systems are designed primarily to provide independent computing power to a single user or a small group of users, and are cheaply priced for purchase by individuals or businesses. An example of such a personal computer system is IBM's PERSONAL C
OMPUTER (hereinafter abbreviated as IBM PC), PER
SONAL COMPUTER XT (hereinafter referred to as IBM
XT), PERSONAL COMPUTER
AT (hereinafter abbreviated as IBM AT) and IBM PE
RSONAL SYSTEM / 2 (hereafter IBM PS /
2) Models 25, 30, 50, 55, 57, 6
It is commercially available under the trademarks 0, 65, 70, 80, 90, 95.
【0003】これらのシステムは、大別して2つのファ
ミリに分類することができる。第1のファミリは、通常
はファミリ1モデル群と称し、IBM ATコンピュー
タや他の「IBM互換」計算機で例示されるバス・アー
キテクチャを使用する。第2のファミリは、ファミリ2
モデル群と称し、IBMのPS/2モデル50ないし9
5で例示されるIBMのマイクロ・チャネル・バス・ア
ーキテクチャを使用する。ファミリ1およびファミリ2
に使用されるバス・アーキテクチャは、当技術分野で周
知である。[0003] These systems can be broadly classified into two families. The first family, commonly referred to as Family 1 models, uses a bus architecture exemplified by IBM AT computers and other "IBM compatible" computers. The second family is Family 2
IBM PS / 2 models 50 to 9
5 uses IBM's Micro Channel bus architecture. Family 1 and Family 2
The bus architecture used for is well known in the art.
【0004】ファミリ1モデル群の最初期のパーソナル
・コンピュータ・システムであるIBM PCから始ま
り、ファミリ2モデル群全体を通じて、システム・プロ
セッサは、Intel「86ファミリ」のプロセッサ
(すなわちマイクロプロセッサ)から選択された。In
tel86ファミリのプロセッサには、Intel C
orporationから市販されている8088、8
086、80286、80386および80486マイ
クロプロセッサが含まれる。Intel86ファミリの
プロセッサのアーキテクチャは、86ファミリの以前の
プロセッサに対するソフトウェア投資を保護する助けと
なる、上位互換の命令セットを提供する。この上位互換
性は、ソフトウェア・アプリケーションの基礎を保存
し、IBMPCと後続モデル群の大成功に貢献した主な
要因の1つである。Beginning with IBM PC, the earliest personal computer system in the Family 1 model family, throughout the Family 2 model family, the system processor was selected from Intel "86 Family" processors (ie, microprocessors). Was. In
The tel86 family of processors includes Intel C
8088, 8 commercially available from the corporation
086, 80286, 80386 and 80486 microprocessors. The architecture of the Intel 86 family of processors provides an upwardly compatible instruction set that helps protect software investments in previous processors of the 86 family. This upward compatibility preserves the foundation of software applications and is one of the major factors that contributed to the great success of IBM PC and its successors.
【0005】IBM PCおよびIBM XTは、IB
Mパーソナル・コンピュータ系列の最初のモデルであ
り、Intel8088プロセッサを使用していた。I
BMパーソナル・コンピュータ・システム群の次の大き
な変更が、IBM ATであり、これはIntel80
286プロセッサを使用していた。PS/2系列は、複
数のIntelプロセッサを使用した。PCおよびXT
に類似のシステムは、PS/2モデル30のうちInt
el8086を使用するバージョンであった。PS/2
モデル50および60は、共にIntel80286プ
ロセッサを使用した。Intel80386プロセッサ
は、IBM PS/2モデル70の一部のバージョン
と、IBM PS/2モデル80に使用される。IBM
PS/2モデル70の他のバージョンならびにPS/
2モデル90XP486および95XP486は、In
tel80486プロセッサを使用する。これらすべて
のシステムに共通する点の1つが、Intel86ファ
ミリのプロセッサを使用していることである。市販され
ている周知の様々なソフトウェア・オペレーティング・
システム、たとえばDOSやOS/2オペレーティング
・システムなどが、Intel86ファミリの様々なプ
ロセッサ上で動作可能である。[0005] The IBM PC and IBM XT are available from IBM
It was the first model in the M personal computer family and used an Intel 8088 processor. I
The next major change in BM personal computer systems is the IBM AT, which is an Intel 80
286 processor. The PS / 2 series used multiple Intel processors. PC and XT
A similar system to Int's PS / 2 Model 30
This version used el8086. PS / 2
Models 50 and 60 both used an Intel 80286 processor. The Intel 80386 processor is used for some versions of the IBM PS / 2 model 70 and for the IBM PS / 2 model 80. IBM
Other versions of PS / 2 model 70 and PS /
Two models 90XP486 and 95XP486 are available from In
A tel80486 processor is used. One of the common features of all these systems is the use of Intel86 family processors. Various well-known software operating systems on the market
A system, such as a DOS or OS / 2 operating system, can operate on various processors of the Intel86 family.
【0006】Intel86ファミリに含まれるプロセ
ッサは、様々な「モード」をサポートする。Intel
86ファミリのプロセッサの基本的なモードは、「実」
モードである。実モードは、8088および8086プ
ロセッサでは唯一の動作モードである。実モードでは、
1メガバイトのアドレス空間がサポートされる。808
8および8086プロセッサには、使用可能な保護機構
が存在しない。80286は、実モードと「保護」モー
ドの両方の動作をサポートする。「保護」という名前が
暗示するように、保護モードでは、保護されたモード操
作を提供する。この保護とは、あるアプリケーションが
他のアプリケーションやオペレーティング・システムの
動作に干渉しないようにすることである。80286
は、16メガバイトまでのメモリを直接アドレスできる
ようにすることによって、8088や8086に比べて
拡張されたアドレス能力を提供する。下方互換性を維持
するため、80286は、実モードで動作して、808
8または8086の実モードをエミュレートすることが
できる。80386と80486では、さらに4ギガバ
イトまでの物理メモリをアドレスする能力を提供して、
Intel86ファミリのアーキテクチャを拡張してい
る。80386と80486は、「仮想86」モードの
動作もサポートする。仮想86モードとは、保護モード
環境の全体的枠内で、実モードの動作特性をサポートす
るモードである。この仮想86モードは、DOSオペレ
ーティング・システムの下で走行するアプリケーション
と非常に高水準の互換性を提供するので有用ではある
が、今や全体的保護モードのオペレーティング・システ
ム中で動作しなければならない。[0006] Processors in the Intel86 family support various "modes". Intel
The basic mode of the 86 family of processors is "real"
Mode. Real mode is the only mode of operation for 8088 and 8086 processors. In real mode,
One megabyte of address space is supported. 808
No protection mechanism is available for the 8 and 8086 processors. 80286 supports both real mode and "protected" mode of operation. As the name "protected" implies, protected mode provides protected mode operation. This protection is to prevent one application from interfering with the operation of another application or operating system. 80286
Provides extended addressability compared to the 8088 and 8086 by allowing up to 16 megabytes of memory to be directly addressed. To maintain backward compatibility, 80286 operates in real mode to
8 or 8086 real modes can be emulated. 80386 and 80486 further provide the ability to address up to 4 gigabytes of physical memory,
It extends the architecture of the Intel86 family. 80386 and 80486 also support "virtual 86" mode operation. The virtual 86 mode is a mode that supports the operating characteristics of the real mode within the overall framework of the protected mode environment. While this virtual 86 mode is useful because it offers a very high level of compatibility with applications running under the DOS operating system, it must now operate in a fully protected mode operating system.
【0007】また、IBM PCなど、ファミリ1モデ
ル群の最初期のパーソナル・コンピュータ・システムで
既に、ソフトウェア、ハードウェア両面の互換性を達成
するという目標が非常に重要になるであろうことが認識
されていた。この目標を達成するため、「マイクロコー
ド」とも称するシステム常駐コードの分離層が、ハード
ウェアとソフトウェアの間に確立された。このコードに
よって、ユーザのアプリケーション・プログラムおよび
オペレーティング・システムと、ハードウェア装置との
間の動作上のインターフェースが提供され、ハードウェ
ア装置の特性に関してユーザが心配する必要がなくなっ
た。結果的に、このコードが発展して基本入出力システ
ム(BIOS)になり、新規ハードウェア装置をシステ
ムに追加できるようにすると共に、アプリケーション・
プログラムをハードウェア装置の特異性から分離するこ
とができるようになった。BIOSの重要性は、直ちに
明らかになった。というのは、これによって、デバイス
・ドライバを特定のハードウェア装置に対する依存性か
ら解放すると共に、デバイス・ドライバに装置(デバイ
ス)への中間インターフェースを提供したからである。
BIOSは、コンピュータ・システムの不可欠な部分で
あり、システム・プロセッサに出入りするデータの移動
を制御するため、システム・ユニットのシステム・プレ
ーナ基板に常駐し、読取り専用メモリ(ROM)に納め
てユーザに出荷された。たとえば、原型のIBM PC
のBIOSは、プレーナ基板に常駐するROMのうち8
Kバイト(キロバイトまたは「Kバイト」とは、102
4バイトの量を指す)を占めた。ROMのほかに、プレ
ーナ基板には、システム・プロセッサ、主ランダム・ア
クセス・メモリ(RAM)および他の構成要素が含ま
れ、これらは、基板上の実質的に同一平面に固定され
た。ROMには、コンピュータ・システムの試験と初期
設定に使用される電源オン自己試験(POST)プログ
ラムも収められた。コンピュータ・システムROMに常
駐するコードの全体が、「システム・ファームウェア」
または単に「ファームウェア」と呼ばれるようになっ
た。したがって、ファームウェアには、POST部分と
BIOS部分が含まれる。BIOSが、POSTを含む
ものとして定義されることもあった。It has also been recognized that the goal of achieving software and hardware compatibility in the earliest personal computer systems of the Family 1 model family, such as the IBM PC, will be very important. It had been. To achieve this goal, a separation layer of system resident code, also referred to as "microcode," has been established between hardware and software. This code provides an operational interface between the user's application programs and operating system and the hardware device, eliminating the need for the user to worry about the characteristics of the hardware device. As a result, this code evolves into a basic input / output system (BIOS), allowing new hardware devices to be added to the system and
Programs can now be separated from the specificity of hardware devices. The importance of BIOS was immediately evident. This frees the device driver from dependence on a particular hardware device and provides the device driver with an intermediate interface to the device.
The BIOS is an integral part of the computer system and resides on the system planar board of the system unit to control the movement of data into and out of the system processor and is stored in read-only memory (ROM) for the user. Shipped. For example, the original IBM PC
BIOS has 8 of the ROMs resident on the planar board.
K bytes (kilobytes or “K bytes”
4 bytes). In addition to ROM, the planar board contained a system processor, main random access memory (RAM), and other components, which were fixed substantially flush with the board. The ROM also contained a power-on self-test (POST) program used for testing and initializing the computer system. The entire code resident in the computer system ROM is called "system firmware"
Or just came to be called "firmware". Therefore, the firmware includes a POST portion and a BIOS portion. BIOS was sometimes defined to include POST.
【0008】パーソナル・コンピュータ・ファミリの新
規モデルを導入する際には、入出力(I/O)装置など
の新規ハードウェア装置をサポートできるようにファー
ムウェアを更新し拡張しなければならない。予想される
とおり、ファームウェアに必要なメモリ・サイズの増加
が始まった。たとえば、IBM PERSONALCO
MPUTER ATの導入に伴って、ファームウェアが
増大して、32KバイトのROMを必要とするようにな
った。マイクロ・チャネル・アーキテクチャを有するI
BM PERSONAL SYSTEM/2の導入に伴
って、極めて新規な、拡張BIOSまたはABIOSと
称するBIOSが開発された。しかし、ソフトウェア互
換性を維持するため、ファミリ1モデル群用のBIOS
をファミリ2モデル群に含める必要があった。ファミリ
1のBIOSは、互換BIOSまたはCBOISと呼ば
れるようになった。したがって、BIOSは、互換基本
入出力システム(CBIOS)と拡張基本入出力システ
ム(ABIOS)など、2種類以上のBIOSを含むよ
うに進化した。パーソナル・コンピュータ・システムの
現在のアーキテクチャ定義は、128Kバイトまでのシ
ステム・ファームウェア・アドレス空間を考慮に入れて
いる。In introducing new models of the personal computer family, firmware must be updated and extended to support new hardware devices, such as input / output (I / O) devices. As expected, the memory size required for firmware has begun to increase. For example, IBM PERSONALCO
With the introduction of MPUTER AT, the firmware has increased to require 32K bytes of ROM. I with micro-channel architecture
With the introduction of BM PERSONAL SYSTEM / 2, a very novel BIOS, called Enhanced BIOS or ABIOS, was developed. However, to maintain software compatibility, BIOS for Family 1 models
Was required to be included in the Family 2 model group. Family 1 BIOS has come to be called compatible BIOS or CBOIS. Accordingly, BIOS has evolved to include more than one type of BIOS, such as a compatible basic input / output system (CBIOS) and an enhanced basic input / output system (ABIOS). The current architectural definition of a personal computer system allows for a system firmware address space of up to 128 Kbytes.
【0009】現在、新技術開発の継続に伴って、パーソ
ナル・コンピュータ・システムは、ますます洗練され、
より頻繁に機能強化されつつある。技術が素早く変化し
つつあり、新規の入出力装置がパーソナル・コンピュー
タ・システムに追加されつつあるので、ファームウェア
に対する変更と拡張の実施が、パーソナル・コンピュー
タ・システムの開発サイクルにおける重要な問題となっ
てきた。さらに、ユーザ・サイトに設置されたコンピュ
ータ・システムのファームウェアの保守も、問題であ
る。At present, with the development of new technologies, personal computer systems are becoming more and more sophisticated,
It is being enhanced more frequently. As technology is changing rapidly and new I / O devices are being added to personal computer systems, implementing changes and enhancements to firmware has become a significant issue in the development cycle of personal computer systems. Was. In addition, maintenance of the firmware of the computer system located at the user site is also a problem.
【0010】パーソナル・コンピュータ・システムをリ
ンクして、ネットワーク(たとえばローカル・エリア・
ネットワークすなわちLAN)を形成し、ユーザが、情
報の交換、入出力装置の共用、および特定の固定ディス
ク記憶装置など特定の直接アクセス記憶装置(DAS
D)の利用を行えるようにすることができる。通常、L
ANには、「クライアント」と「サーバ」が含まれる。
クライアントは、通常は1台のディスケット駆動装置以
外にDASDを有さない、コンピュータ・システムであ
る。サーバは、ローカル・エリア・ネットワークのクラ
イアント群に記憶域を提供するためのDASDを含む、
コンピュータ・システムである。クライアントには、フ
ァームウェアの変更、更新、拡張または保守が必要なこ
とがある。A personal computer system is linked to a network (eg, a local area network).
Form a network or LAN, allowing users to exchange information, share input / output devices, and to access certain direct access storage devices (DASs), such as certain fixed disk storage devices.
D) can be used. Usually L
The AN includes “client” and “server”.
A client is a computer system that typically has no DASD other than a single diskette drive. The server includes a DASD for providing storage to a group of clients of the local area network;
It is a computer system. Clients may need to change, update, extend or maintain firmware.
【0011】これらの問題と要件、さらに開発サイクル
中のできるだけ後にファームウェアを変更したいという
要望の結果として、パーソナル・コンピュータ・システ
ムの動作の中断を最小限に留めて、ファームウェアを変
更できるようにすることが必要になってきた。パーソナ
ル・コンピュータ・システムが市販性をもち消費者に受
け入れられるようにするには、新規入出力装置が追加で
き、費用を最小限に留められることが必要と思われるの
で、ファームウェアを簡単に変更できることが、パーソ
ナル・コンピュータ・システムの販売に成功を収める際
の本質的な要因であることを理解されたい。パーソナル
・コンピュータ・システムでは、伝統的に、システム・
ファームウェアの少なくとも一部をROMに記憶してき
た。たとえば、米国特許出願第398865号を参照さ
れたい。ROMの主な欠点は、一旦ROMを製造する
と、その内容が変更できないことである。たとえば、P
OSTプログラム・コードを変更しなければならない場
合、ROMを物理的に変更しなければならない。ROM
は、伝統的に、ROMの交換を可能にするため、ソケッ
ト結合とされてきた。しかし、現場(すなわち顧客サイ
ト)でのROM交換は、時間がかかり、したがって費用
がかかる。As a result of these problems and requirements, and the desire to change firmware as soon as possible during the development cycle, the ability to change firmware with minimal disruption to the operation of personal computer systems. Is needed. In order for a personal computer system to be commercially viable and acceptable to consumers, new I / O devices can be added and costs should be kept to a minimum, so firmware can be easily changed. Is an essential factor in the successful sale of personal computer systems. Traditionally, in personal computer systems, system
At least a part of the firmware has been stored in the ROM. See, for example, U.S. Patent Application 398865. A major disadvantage of ROMs is that once a ROM is manufactured, its contents cannot be changed. For example, P
If the OST program code must be changed, the ROM must be physically changed. ROM
Has traditionally been socketed to allow for ROM replacement. However, on-site (ie, customer site) ROM replacement is time consuming and therefore expensive.
【0012】ROMを電気的に消去でき再プログラミン
グ可能な(すなわち変更可能な)不揮発性のランダム・
アクセス・メモリ(たとえばフラッシュ・メモリ)に置
換え、POSTまたはBIOSをそれに記憶させること
が知られている。たとえば、Intel Corporationの出版
物、"Memory Products 1991, Intel Order No. 210830,
ISBN 1-55512-117-9"、第6章 (Flash Memories, 第6-
1〜6-420ページ)を参照されたい。この置換えによっ
て、ファームウェアが簡単に変更できるようになる。The ROM is electrically erasable and reprogrammable (ie, modifiable) non-volatile random access memory.
It is known to replace access memory (eg, flash memory) and store a POST or BIOS in it. For example, the Intel Corporation publication, "Memory Products 1991, Intel Order No. 210830,
ISBN 1-55512-117-9 ", Chapter 6 (Flash Memories, Chapter 6
See pages 1 to 6-420). This replacement allows the firmware to be easily changed.
【0013】しかしながら、システム・ファームウェア
の保全性を効率的に確保すると同時に、システム・ファ
ームウェアを簡単に変更できるようにする必要がある。However, it is necessary to efficiently maintain the integrity of the system firmware and at the same time, to make it possible to easily change the system firmware.
【0014】[0014]
【発明が解決しようとする課題】本発明の主目的は、シ
ステム・ファームウェアの保全性を効率的に確保すると
同時に、ファームウェアを簡単に変更できるようにする
ことである。SUMMARY OF THE INVENTION It is a primary object of the present invention to efficiently ensure the integrity of system firmware while allowing for easy firmware changes.
【0015】本発明のもう1つの目的は、パーソナル・
コンピュータ・システムが動作可能な状態に留まるのに
十分なファームウェアを確実に保持しながら、そのよう
なシステムのファームウェアを変更することである。Another object of the present invention is to provide a personal computer.
Modifying the firmware of a computer system, while ensuring that the system has sufficient firmware to remain operational.
【0016】本発明のもう1つの目的は、パーソナル・
コンピュータ・システム内の複数のファームウェア・バ
ンクからの自動選択を可能にすることである。Another object of the present invention is to provide a personal computer.
The purpose is to allow automatic selection from multiple firmware banks in a computer system.
【0017】[0017]
【課題を解決するための手段】本発明は、上記の必要、
要件および問題を克服するために開発された。本発明に
よれば、ファームウェアを記憶するための装置は、電気
的に互いに並列の回路配置で接続された複数の不揮発性
の変更可能な電子メモリ・デバイスと、メモリ・デバイ
スに電気的に接続された、メモリ・デバイスのうちの自
動的に選択された1つへのファームウェアの読み書きが
可能になるようにメモリ・デバイスを制御するための制
御手段とを含む。各メモリ・デバイスは、同一バージョ
ンまたは異なるバージョンのファームウェアを含むこと
ができる。本発明の冗長メモリにより、メモリのうちの
少なくとも1つを書込み保護することによって、ファー
ムウェアの保全性が確保できる。本発明は、同一出願人
による特願平4−267959号に開示された発明の改
良である。SUMMARY OF THE INVENTION The present invention provides the above-described needs,
Developed to overcome requirements and problems. According to the present invention, an apparatus for storing firmware includes a plurality of non-volatile, changeable electronic memory devices electrically connected in a circuit arrangement in parallel with each other, and electrically connected to the memory device. Control means for controlling the memory device to enable reading and writing of firmware to one of the memory devices automatically selected. Each memory device can include the same or different versions of firmware. The redundant memory of the present invention ensures firmware integrity by write-protecting at least one of the memories. The present invention is an improvement of the invention disclosed in Japanese Patent Application No. 4-267959 filed by the same applicant.
【0018】[0018]
【実施例】以下の詳細な説明は、本発明を実行するため
の、現在考えられている最良の態様に関するものであ
る。この説明は、限定的なものと解釈すべきではなく、
本発明の一般原理を例示する目的で行ったものである。The following detailed description is of the best mode currently contemplated for carrying out the invention. This description should not be construed as limiting,
It has been done for the purpose of illustrating the general principles of the invention.
【0019】ここで図面、具体的には図1を参照する
と、本発明を利用するパーソナル・コンピュータ・シス
テム100が示されている。パーソナル・コンピュータ
・システム100は、適当な格納装置またはケーシング
103を有するシステム・ユニット102と、出力装置
またはモニタ104(普通のビデオ表示装置など)と、
キーボード110などの入力装置と、任意選択のマウス
112と、プリンタ114などの任意選択の出力装置と
を備えている。最後に、システム・ユニット102は、
ディスケット駆動装置108やハード・ディスク装置
(ハードファイル)106など1つまたは複数の大容量
記憶装置を含むことができる。Referring now to the drawings, and more particularly to FIG. 1, there is shown a personal computer system 100 utilizing the present invention. The personal computer system 100 includes a system unit 102 having a suitable enclosure or casing 103, an output device or monitor 104 (such as a conventional video display),
An input device such as a keyboard 110, an optional mouse 112, and an optional output device such as a printer 114 are provided. Finally, the system unit 102
One or more mass storage devices, such as a diskette drive 108 and a hard disk drive (hard file) 106, may be included.
【0020】システム・ユニット102は、入力装置に
応答する。システム・ユニット102と、任意選択され
た入出力装置、すなわちハード・ディスク装置106、
ディスケット駆動装置108、キーボード110および
モニタ104を、他のシステム・ユニット102Bに周
知の方式で接続して、図2に示すようなローカル・エリ
ア・ネットワーク(LAN)を形成することができる。
通常、このような他のシステム・ユニット102B(ク
ライアント)は、ハード・ディスク装置106やディス
ケット駆動装置108を含まない。もちろん、他の普通
の入出力装置をシステム・ユニット102または他のシ
ステム・ユニット102Bに接続して、それらと相互作
用させることもできることが、当業者には理解されよ
う。System unit 102 is responsive to input devices. A system unit 102 and optional input / output devices, ie, hard disk drives 106,
Diskette drive 108, keyboard 110, and monitor 104 can be connected to other system unit 102B in well-known fashion to form a local area network (LAN) as shown in FIG.
Usually, such other system unit 102B (client) does not include the hard disk drive 106 or the diskette drive 108. Of course, those skilled in the art will appreciate that other common input / output devices may be connected to and interact with system unit 102 or other system unit 102B.
【0021】通常の使用では、パーソナル・コンピュー
タ・システム100は、LAN内のサーバとして、小さ
なユーザ集団または単独のユーザに独立の計算能力を提
供するように設計され、個人または小企業が購入できる
ように安価な価格設定になっている。動作中、プロセッ
サ202(図3および図5)は、IBMのOS/2オペ
レーティング・システムやDOSオペレーティング・シ
ステムなどのオペレーティング・システムの下で機能す
る。オペレーティング・システムは、普通の方式でシス
テム・ユニット102内にロードされ記憶される。オペ
レーティング・システムは通常、入出力装置とオペレー
ティング・システムの間でBIOSインターフェースを
利用する。BIOSは、ファームウェアの一部である
が、機能別に任意選択モジュールに分割される(図18
を参照されたい)。BIOSは、ハードウェア装置とオ
ペレーティング・システムの間のインターフェースを提
供して、プログラマまたはユーザが、特定のハードウェ
ア装置に関する詳しい実際知識なしに、自分の計算機を
プログラミングできるようにする。たとえば、BIOS
のディスケット・モジュールを用いると、プログラマ
は、ディスケット駆動装置のハードウェアに関する詳し
い知識なしに、ディスケット駆動装置をプログラミング
できるようになる。したがって、異なる企業によって設
計され製造された多数のディスケット駆動装置を、パー
ソナル・コンピュータ・システム100内で使用するこ
とが可能である。これによって、システムのコストが低
下するだけでなく、ユーザが、多数のディスケット駆動
装置から選択できるようにもなる。BIOSは、"IBM P
ersonal System/2 and Personal Computer BIOS Interf
aceTechnical Reference 1988"で、より明確に定義され
ている。In normal use, the personal computer system 100, as a server in a LAN, is designed to provide independent computing power to a small group of users or a single user so that individuals or small businesses can purchase it. The price is cheaper. In operation, processor 202 (FIGS. 3 and 5) functions under an operating system such as the IBM OS / 2 operating system or the DOS operating system. The operating system is loaded and stored in the system unit 102 in a conventional manner. Operating systems typically utilize a BIOS interface between input / output devices and the operating system. The BIOS, which is part of the firmware, is divided into optional modules by function (FIG. 18).
Please refer to). The BIOS provides an interface between the hardware device and the operating system so that a programmer or user can program his computer without detailed working knowledge of the specific hardware device. For example, BIOS
Allows a programmer to program a diskette drive without detailed knowledge of the diskette drive hardware. Thus, many diskette drives designed and manufactured by different companies can be used in the personal computer system 100. This not only reduces the cost of the system, but also allows the user to choose from a large number of diskette drives. BIOS is "IBM P
ersonal System / 2 and Personal Computer BIOS Interf
aceTechnical Reference 1988 ", which is more clearly defined.
【0022】(統合プレーナ)図3を参照すると、シス
テム・ユニット102の統合プレーナ200のブロック
図が示されている。統合プレーナ200は、プリント回
路基板(PCB)201を含み、このPCB201上
に、入出力スロットを有する複数の入出力バス・コネク
タ232と、バス制御ユニット214の制御下にある高
速のCPUローカル・バス210によってメモリ制御ユ
ニット256に接続されたプロセッサ202とが、装着
または接続される。メモリ制御ユニット256はさら
に、揮発性のランダム・アクセス・メモリ(RAM)2
64などの主記憶装置に接続される。Intel803
86、Intel80486その他、任意の適当なプロ
セッサ202が使用できる。システム電源コネクタ20
5をPCB201に取り付けて、パーソナル・コンピュ
ータ・システム100に必要な電力を供給する、電源装
置(図示せず)に接続する。(Integrated Planar) Referring to FIG. 3, a block diagram of the integrated planar 200 of the system unit 102 is shown. The integrated planar 200 includes a printed circuit board (PCB) 201 on which a plurality of input / output bus connectors 232 having input / output slots and a high-speed CPU local bus under the control of a bus control unit 214. The processor 202 connected to the memory control unit 256 by 210 is mounted or connected. The memory control unit 256 further includes a volatile random access memory (RAM) 2
64 is connected to the main storage device. Intel 803
86, Intel 80486, or any other suitable processor 202 can be used. System power connector 20
5 is attached to the PCB 201 and connected to a power supply (not shown) that supplies necessary power to the personal computer system 100.
【0023】CPUローカル・バス210(アドレス要
素、データ要素、制御要素からなる)は、プロセッサ2
02、任意選択の数値計算補助コプロセッサ204、任
意選択のキャッシュ制御機構206、および任意選択の
キャッシュ・メモリ208の相互接続を行う。CPUロ
ーカル・バス210には、システム・バッファ212も
接続されている。システム・バッファ212自体は、
(CPUローカル・バス210と比較して)より低速の
システム・バス216に接続される。システム・バス2
16は、アドレス要素、データ要素、制御要素からな
る。システム・バス216は、システム・バッファ21
2と入出力・バッファ228との間に接続される。シス
テム・バス216は、さらに、バス制御ユニット214
と、直接メモリ・アクセス(DMA)制御ユニット22
0とに接続される。DMA制御ユニット220は、中央
アービタ224とDMA制御機構222を含んでいる。
入出力・バッファ228は、システム・バス216と入
出力バス230の間のインターフェースを提供する。発
振器207は図に示すように接続され、適当なクロック
信号をファームウェア・サブシステム242に供給す
る。この好ましい実施例は、当技術分野で周知のIBM
PS/2コンピュータ・システムのマイクロ・チャネ
ル・バス上で実施されるが、別のバス・アーキテクチャ
を使用しても本発明を利用できることが、当業者には理
解されよう。The CPU local bus 210 (comprising address elements, data elements, and control elements)
02, interconnecting the optional math assist coprocessor 204, the optional cache control mechanism 206, and the optional cache memory 208. A system buffer 212 is also connected to the CPU local bus 210. The system buffer 212 itself
It is connected to a slower system bus 216 (compared to CPU local bus 210). System bus 2
Reference numeral 16 includes an address element, a data element, and a control element. The system bus 216 is connected to the system buffer 21.
2 and the input / output / buffer 228. The system bus 216 further includes a bus control unit 214
And a direct memory access (DMA) control unit 22
Connected to 0. DMA control unit 220 includes a central arbiter 224 and a DMA control mechanism 222.
I / O buffer 228 provides an interface between system bus 216 and I / O bus 230. Oscillator 207 is connected as shown and provides an appropriate clock signal to firmware subsystem 242. This preferred embodiment is based on the IBM well known in the art.
It will be appreciated by those skilled in the art that the present invention may be implemented on a Micro Channel bus in a PS / 2 computer system, but the alternative bus architecture may be used.
【0024】入出力バス230には、アダプタ・カード
(図示せず)を受けるためのスロットを有する複数の入
出力バス・コネクタ232が接続されている。アダプタ
・カードは、さらに入出力装置またはメモリ(たとえば
ハード・ディスク装置106)に接続することができ
る。便宜上2つの入出力バス・コネクタ232を図示し
てあるが、特定のシステムの必要に合わせて、簡単にさ
らに入出力コネクタを追加できる。アービトレーション
・バス226は、DMA制御機構222と中央アービタ
224を、入出力バス・コネクタ232とディスケット
制御機構246に結合する。システム・バス216に
は、メモリ制御ユニット256も接続されている。メモ
リ制御ユニット256は、メモリ制御機構258、アド
レス・マルチプレクサ260およびデータ・バッファ2
62を含んでいる。メモリ制御ユニット256はさら
に、RAM264で表されるランダム・アクセス・メモ
リなどの主記憶装置に接続される。メモリ制御機構25
8は、プロセッサ202からRAM264の特定の区域
に、またRAM264の特定の区域からプロセッサ20
2にアドレスのマッピングを行うための論理回路を含ん
でいる。パーソナル・コンピュータ・システム100
は、基本1メガバイトのRAM264と共に図示されて
いるが、図3に示すように、任意選択のメモリ・モジュ
ール266、268、270によって追加のメモリを相
互接続できることを理解されたい。A plurality of I / O bus connectors 232 having slots for receiving adapter cards (not shown) are connected to the I / O bus 230. The adapter card may be further connected to input / output devices or memory (eg, hard disk drive 106). Although two I / O bus connectors 232 are shown for convenience, additional I / O connectors can be easily added to meet the needs of a particular system. An arbitration bus 226 couples the DMA control 222 and the central arbiter 224 to the I / O bus connector 232 and the diskette control 246. A memory control unit 256 is also connected to the system bus 216. The memory control unit 256 includes a memory control unit 258, an address multiplexer 260, and a data buffer 2
62 are included. The memory control unit 256 is further connected to a main storage device such as a random access memory represented by the RAM 264. Memory control mechanism 25
8 from the processor 202 to a particular area of the RAM 264 and from a particular area of the RAM 264 to the processor 20.
2 includes a logic circuit for performing address mapping. Personal computer system 100
Is shown with a base one megabyte of RAM 264, but it should be understood that additional memory can be interconnected by optional memory modules 266, 268, 270, as shown in FIG.
【0025】バッファ218は、システム・バス216
とプレーナ入出力バス234の間に結合される。プレー
ナ入出力バス234は、アドレス要素、データ要素、制
御要素からなる。プレーナ入出力バス234に沿って、
表示アダプタ236(任意選択のモニタ104を駆動す
るのに使用する)、クロック250、不揮発性RAM2
48(以下、NVRAMと称する)、直列アダプタ24
0(「直列」の代わりに使用される一般的な用語が、
「非同期」と「RS232」である)、並列アダプタ2
38、複数のタイマ252、ディスケット・アダプタ2
46、キーボード/マウス制御機構244、割込み制御
機構254、および本発明の本質であるファームウェア
・サブシステム242など、様々な入出力アダプタおよ
び他の周辺構成要素が結合されている。本発明によれ
ば、ファームウェア・サブシステム242は、電気的に
互いに並列の回路配置で接続された、複数(たとえば2
つ)の不揮発性の書換可能な電子メモリ・デバイスを含
んでいる。各メモリ・デバイスは、POSTプログラム
とBIOSプログラムを格納する。POSTは、本発明
のバンク検査・選択プログラム部を含んでいる。本発明
のファームウェア・サブシステム242と残りの本質的
な要素については、後で図6ないし27に関して説明す
る。The buffer 218 is connected to the system bus 216
And a planar input / output bus 234. The planar input / output bus 234 includes an address element, a data element, and a control element. Along the planar input / output bus 234,
Display adapter 236 (used to drive optional monitor 104), clock 250, non-volatile RAM 2
48 (hereinafter referred to as NVRAM), serial adapter 24
0 (a common term used in place of "series" is
"Asynchronous" and "RS232"), parallel adapter 2
38, multiple timers 252, diskette adapter 2
Various I / O adapters and other peripheral components are coupled, such as 46, keyboard / mouse control 244, interrupt control 254, and firmware subsystem 242, which is the essence of the present invention. In accordance with the present invention, the firmware subsystem 242 includes a plurality (eg, 2
And non-volatile rewritable electronic memory devices. Each memory device stores a POST program and a BIOS program. POST includes the bank inspection / selection program section of the present invention. The firmware subsystem 242 and the remaining essential elements of the present invention are described below with respect to FIGS.
【0026】クロック250は、時刻計算に使用され
る。NVRAM248は、システム構成データを記憶す
るのに使用される。すなわち、NVRAM248は、パ
ーソナル・コンピュータ・システム100の現在の構成
を記述する値を保持する。NVRAM248は、たとえ
ば、アダプタ・カード初期設定データ、固定ディスクま
たはディスケットの容量、メモリの容量その他を記述す
る情報を保持する。さらに、これらのデータは、構成プ
ログラムが実行される時に、必ずNVRAM248に記
憶される。この構成プログラムは、IBM PS/2コ
ンピュータ・システムと共に含まれるシステム・レファ
レンス・ディスケット上で供給される普通の構成設定プ
ログラムでよい。システム・レファレンス・ディスケッ
トを、自己診断ディスケット、保守ディスケットまたは
サービス・ディスケットと称する場合もある。構成プロ
グラムの目的は、このパーソナル・コンピュータ・シス
テム100の構成の特徴を表す値をNVRAM248に
記憶して、システムの電源が切られた時にも保存するこ
とである。NVRAMは、バッテリ・バックアップを有
する低電力CMOSメモリでよい。The clock 250 is used for time calculation. NVRAM 248 is used to store system configuration data. That is, NVRAM 248 holds values that describe the current configuration of personal computer system 100. NVRAM 248 holds, for example, information describing adapter card initialization data, fixed disk or diskette capacity, memory capacity, and the like. Further, these data are always stored in the NVRAM 248 when the configuration program is executed. This configuration program may be a conventional configuration program provided on a system reference diskette included with the IBM PS / 2 computer system. The system reference diskette may be referred to as a self-diagnostic diskette, a maintenance diskette, or a service diskette. The purpose of the configuration program is to store values representing the configuration characteristics of the personal computer system 100 in the NVRAM 248 and to save the values even when the system is turned off. NVRAM may be a low power CMOS memory with battery backup.
【0027】キーボード/マウス制御機構244には、
ポートA 278およびポートB280が接続されてい
る。これらのポートを使用して、キーボード110とマ
ウス112をパーソナル・コンピュータ・システム10
0に接続する。直列アダプタ240には、直列コネクタ
276が結合される。モデム(図示せず)などの任意選
択装置を、この直列コネクタ276を介してシステムに
結合することができる。並列アダプタ238には、並列
コネクタ274が結合される。並列コネクタ274に
は、プリンタ114などの装置が接続できる。ディスケ
ット制御機構246には、ディスケット・コネクタ28
2が接続される。ディスケット・コネクタ282は、1
つまたは複数のディスケット駆動装置108を接続する
のに使用される。The keyboard / mouse control mechanism 244 includes:
Port A 278 and port B 280 are connected. Using these ports, a keyboard 110 and a mouse 112 can be connected to the personal computer system 10.
Connect to 0. A serial connector 276 is coupled to the serial adapter 240. Optional devices such as a modem (not shown) can be coupled to the system via this serial connector 276. A parallel connector 274 is connected to the parallel adapter 238. A device such as the printer 114 can be connected to the parallel connector 274. The diskette control mechanism 246 includes the diskette connector 28
2 are connected. Diskette connector 282 is 1
Used to connect one or more diskette drives 108.
【0028】(プレーナ基板)パーソナル・コンピュー
タ・システム100の代替実施例によれば、統合プレー
ナ200の代りにプレーナ基板300(図4)とプロセ
ッサ・カード400(図5)を使用する。プロセッサ・
カード400は、プレーナ基板300上に取外し可能に
取り付けられ、プレーナ基板300に電気的に接続され
る。図3と同一の要素番号は、図4および図5の同一の
要素に対応する。図4を参照すると、プレーナ基板30
0は、プリント回路基板(PCB)301を備え、この
PCB301上に、PCB内の配線または回路によって
相互接続された様々な構成要素が取り付けられる(たと
えば表面実装される)。このような構成要素には、適当
な市販のエッジ・コネクタ302が含まれ、このエッジ
・コネクタ302内にプロセッサ・カード400のエッ
ジ・コネクタ416を挿入すると、プロセッサ・カード
400をプレーナ基板300に取外し可能に取り付け電
気的に接続することができる。また、複数のシングル・
インライン・メモリ・モジュール(SIMM)コネクタ
306をPCB301に取り付けて、メモリ・バンク3
08A、308Bを接続し、システムの主記憶装置また
は主RAMを形成する。また、1つまたは複数の入出力
バス・コネクタ232(または拡張コネクタ)をPCB
301に取り付けて、パーソナル・コンピュータ・シス
テム100に追加されまたは組み込まれる、様々な拡張
アダプタおよびオプションを接続する。たとえば、ハー
ド・ディスク装置106を、入出力バス・コネクタ23
2に接続されたディスク制御機構を有するアダプタ・カ
ード(図示せず)に接続することができる。各入出力バ
ス・コネクタ232は、上述のマイクロ・チャネル・ア
ーキテクチャに適合する形式の市販のコネクタであるこ
とが好ましい。Planar Board According to an alternative embodiment of the personal computer system 100, the integrated planar 200 is replaced by a planar board 300 (FIG. 4) and a processor card 400 (FIG. 5). Processor
The card 400 is detachably mounted on the planar substrate 300 and is electrically connected to the planar substrate 300. The same element numbers as those in FIG. 3 correspond to the same elements in FIGS. 4 and 5. Referring to FIG. 4, the planar substrate 30
0 comprises a printed circuit board (PCB) 301 upon which various components interconnected by wires or circuits within the PCB are mounted (eg, surface mounted). Such components include a suitable commercially available edge connector 302, into which the edge connector 416 of the processor card 400 is inserted when the processor card 400 is removed from the planar board 300. It can be mounted and electrically connected. Also, multiple single
Attach the in-line memory module (SIMM) connector 306 to the PCB 301 and
08A and 308B are connected to form a main storage device or main RAM of the system. Also, one or more input / output bus connectors 232 (or expansion connectors)
Attached to 301 connects various expansion adapters and options that are added to or incorporated into personal computer system 100. For example, the hard disk drive 106 is connected to the input / output bus connector 23.
2 can be connected to an adapter card (not shown) having a disk control mechanism. Each I / O bus connector 232 is preferably a commercially available connector of a type compatible with the Micro Channel architecture described above.
【0029】プレーナ基板300には、キーボード・コ
ネクタであるポートA 278とマウス・コネクタであ
るポートB 280とに接続された割込み制御機構25
4およびキーボード/マウス制御機構244、ディスケ
ット・コネクタ282に接続されたディスケット制御機
構246、ならびに、様々な入出力装置をシステムに接
続するための、直列コネクタ276に接続された直列ア
ダプタ240および並列コネクタ274に接続された並
列アダプタ238も取り付けられる。システムに必要な
電力を供給する電源装置(図示せず)に接続するため、
システム電源コネクタ205がPCB301に取り付け
られる。NVRAM248とクロック250も、PCB
301に取り付けられる。また、PCB301上には、
タイミング信号を供給するための様々な発振器(図示せ
ず)と、周知の方式で回路の諸部分を分離するためのバ
ッファ342および344(すべては図示せず)も取り
付けられている。The interrupt control mechanism 25 connected to the port A 278 as a keyboard connector and the port B 280 as a mouse connector is provided on the planar board 300.
4 and a keyboard / mouse control 244, a diskette control 246 connected to a diskette connector 282, and a serial adapter 240 and a parallel connector connected to a serial connector 276 for connecting various input / output devices to the system. A parallel adapter 238 connected to 274 is also attached. To connect to a power supply (not shown) that supplies the necessary power to the system,
System power connector 205 is attached to PCB 301. NVRAM 248 and clock 250 are also PCB
Attached to 301. Also, on the PCB 301,
Also mounted are various oscillators (not shown) for providing timing signals, and buffers 342 and 344 (all not shown) for isolating portions of the circuit in a well-known manner.
【0030】PCB301の配線は、図示の通り様々な
構成要素を相互接続するが、(線324〜338を含
む)メモリ・バス310、(アドレス・バス322、デ
ータ・バス320、制御バス318を含む)チャネル・
バス312、ならびに割込み線314および316を含
むその他の信号線の3つのグループに分かれ、そのすべ
てが、エッジ・コネクタ302および416を介してP
CB401の対応する配線に接続される。チャネル・バ
ス312からプレーナ機能バス319が分岐している。The wiring of the PCB 301 interconnects the various components as shown, but includes the memory bus 310 (including the lines 324-338), the address bus 322, the data bus 320, and the control bus 318. )channel·
It is divided into three groups of buses 312 and other signal lines, including interrupt lines 314 and 316, all of which are connected via edge connectors 302 and 416 to P
It is connected to the corresponding wiring of CB401. A planar function bus 319 branches from the channel bus 312.
【0031】(プロセッサ・カード)図5を参照する
と、プレーナ基板300上に取外し可能に取り付られる
プロセッサ・カード400が示されている。プロセッサ
・カード400は、プリント回路基板(PCB)401
を備え、PCB401の上に、プロセッサ202、任意
選択の数値計算補助コプロセッサ204、任意選択のキ
ャッシュ制御機構206、任意選択のキャッシュ・メモ
リ208、DMA制御ユニット220、バス制御ユニッ
ト214、メモリ制御ユニット256、本発明のファー
ムウェア・サブシステム242およびパリティ検査ユニ
ット402、404を含む、様々な市販の構成要素が取
り付けられている(たとえば表面実装されている)。プ
ロセッサ202は、Intel80486など、32ビ
ットのデータ・パスを有し、32ビットのアドレス能力
を提供する高性能型であることが好ましい。もちろん、
Intel80386や同様のプロセッサも使用でき
る。残りの構成要素は、このようなプロセッサと互換性
をもつように、従来の方式で選択される。複数のバッフ
ァ406、408、410、412、414が、図示の
ように接続される。これらのバッファは、回路間の選択
的な分離または接続を行って、異なる部分を同時に使用
して、たとえば、プロセッサ202とキャッシュ・メモ
リ208の間でデータを移動し、その間に入出力ユニッ
トとメモリ・バンク308A、308Bの間で別のデー
タを転送できるようにする。上記の構成要素はすべて、
エッジ・コネクタ416で終端するPCB401内のプ
リント配線回路によって互いに適当に電気接続される。
エッジ・コネクタ416は、図4に示すプレーナ基板3
00上のエッジ・コネクタ302に挿入でき、その結
果、プレーナ基板300とプロセッサ・カード400
が、電気的かつ機械的に相互接続可能になる。(Processor Card) Referring to FIG. 5, a processor card 400 removably mounted on a planar substrate 300 is shown. Processor card 400 includes a printed circuit board (PCB) 401
, On a PCB 401, a processor 202, an optional numerical coprocessor 204, an optional cache control mechanism 206, an optional cache memory 208, a DMA control unit 220, a bus control unit 214, and a memory control unit. A variety of commercially available components are attached (e.g., surface mounted), including 256, the firmware subsystem 242 and the parity check units 402, 404 of the present invention. The processor 202 is preferably a high performance type such as Intel 80486, which has a 32-bit data path and provides 32-bit addressing capability. of course,
Intel 80386 and similar processors can also be used. The remaining components are selected in a conventional manner to be compatible with such a processor. A plurality of buffers 406, 408, 410, 412, 414 are connected as shown. These buffers provide selective isolation or connection between circuits so that different portions can be used simultaneously to move data between, for example, processor 202 and cache memory 208, while input / output units and memory Enabling another data to be transferred between the banks 308A, 308B. All of the above components
Appropriate electrical connections are made to each other by a printed circuit in PCB 401 that terminates at edge connector 416.
The edge connector 416 is connected to the planar substrate 3 shown in FIG.
00, so that the planar board 300 and the processor card 400
Can be electrically and mechanically interconnected.
【0032】PCB401の配線回路には、データ線4
20、アドレス線422、制御線424を含むローカル
・バス418が含まれている。ローカル・バス418
は、図5に示すように、プロセッサ202を、任意選択
の数値計算補助コプロセッサ204、任意選択のキャッ
シュ制御機構206および任意選択のキャッシュ・メモ
リ208に相互接続する。残りの回路線には、一般に、
割込み線316、チャネル・バス312、メモリ・バス
310が含まれる。チャネル・バス312は、制御バス
318、データ・バス320、アドレス・バス322を
含んでいる。メモリ・バス310は、多重化メモリ・ア
ドレス線324、332、メモリ・バンク308A用の
行アドレス・ストローブ(RAS)線328、メモリ・
バンク308B用のRAS線336、列アドレス・スト
ローブ(CAS)線338、データ・バスA線326、
データ・バスB線334、およびパリティ検査またはE
CC検査を使った誤り検査に使用する線330を含んで
いる。発振器207は図に示すように接続され、適当な
クロック信号をファームウェア・サブシステム242に
供給する。図を簡単にするために、リセット、接地、電
源オンその他の一部の線は、図3、図4および図5から
省略した。The wiring circuit of the PCB 401 includes a data line 4
20, a local bus 418 including an address line 422 and a control line 424 is included. Local bus 418
Interconnects the processor 202 to an optional numerical co-processor 204, an optional cache control mechanism 206, and an optional cache memory 208, as shown in FIG. The remaining circuit lines generally have
An interrupt line 316, a channel bus 312, and a memory bus 310 are included. Channel bus 312 includes control bus 318, data bus 320, and address bus 322. Memory bus 310 includes multiplexed memory address lines 324, 332, a row address strobe (RAS) line 328 for memory bank 308A, and a memory bus.
RAS line 336 for bank 308B, column address strobe (CAS) line 338, data bus A line 326,
Data bus B line 334 and parity check or E
Includes line 330 used for error checking using CC checking. Oscillator 207 is connected as shown and provides an appropriate clock signal to firmware subsystem 242. For simplicity, reset, ground, power on, and some other lines have been omitted from FIGS. 3, 4, and 5.
【0033】プレーナ基板300とプロセッサ・カード
400を有するパーソナル・コンピュータ・システム1
00の正常動作中、プロセッサ・カード400は、電気
的かつ機械的にプレーナ基板300に接続され、通常
は、プロセッサ・カード400にほぼ垂直の方向に向か
う平面内にある。Personal computer system 1 having planar board 300 and processor card 400
During normal operation of the processor card 400, the processor card 400 is electrically and mechanically connected to the planar board 300, and is typically in a plane oriented generally perpendicular to the processor card 400.
【0034】(ファームウェア・サブシステム)システ
ム・ファームウェアは、電源オン自己試験(POST)
プログラムと、基本入出力システム(BIOS)プログ
ラムを含んでいる。POSTとは、システムが最初に電
源投入された時に実行される1組の命令である。POS
Tの実行は、パーソナル・コンピュータ・システム10
0の初期設定にとってクリティカルである。POSTが
ないと、このシステムは、オペレーティング・システム
または他のプログラム(たとえば更新ユーティリティ・
プログラム)をロードできなくなる。BIOSとは、プ
ロセッサ202と入出力装置の間でのデータと制御命令
の転送を簡単にする1組の命令である。(Firmware Subsystem) The system firmware performs a power-on self test (POST).
And a basic input / output system (BIOS) program. POST is a set of instructions that are executed when the system is first powered up. POS
The execution of T is performed by the personal computer system 10.
Critical for initialization of 0. Without POST, the system would not be able to use the operating system or other programs (eg, an update utility,
Program) cannot be loaded. A BIOS is a set of instructions that facilitates the transfer of data and control instructions between the processor 202 and an input / output device.
【0035】ここで図6を参照すると、本発明によるフ
ァームウェア・サブシステム242のブロック図が示さ
れている。この図では、2つのメモリ・バンク、すなわ
ちメモリ・バンク0 502およびメモリ・バンク1
504が、制御装置505によって管理される。制御装
置505は、メモリ・バンク0 502とメモリ・バン
ク1 504からおよびそれらへの、ファームウェアの
読取りと書込みを制御する。ファームウェア・サブシス
テム242は、図3または図5に示すように、適当なア
ドレス線、データ線、制御線に接続される。メモリ・バ
ンク0 502とメモリ・バンク1 504は、電気的
に互いに並列の回路配置で接続され、図6に示すよう
に、制御装置505にも接続される。この制御装置は、
メモリ・バンク0 502とメモリ・バンク1 504
のうちの選択された方を常に書き込み保護する。完全な
ファームウェア(すなわち、コンピュータ・システムの
動作に必要なPOSTとBIOS)を、メモリ・バンク
0 502とメモリ・バンク1 504のそれぞれに記
憶することが好ましい。POSTは、本発明によるコー
ド部分を含んでいる。このようなコード部分は、図16
のステップ702〜728に示すバンク検査・選択ルー
チンであり、それを実行するコードである。バンク更新
コードは、ファームウェア更新ユーティリティ・プログ
ラム(図17)の一部であるが、当初は、たとえばディ
スケット(図示せず)上に常駐している。このディスケ
ットをディスケット駆動装置108内で受けると、バン
ク更新コードがシステム・ユニット102に適切にロー
ドできるようになる。さらに、システム・ユニット10
2を、図2に示すようにLAN内のサーバとして接続す
る時には、クライアントは、サーバであるシステム・ユ
ニット102から更新コードを適切にロードすることが
できる。このような更新コードは、更新されたファーム
ウェアによる、選択されたメモリ・バンク0 502ま
たはメモリ・バンク1504の再プログラミングを引き
起こす。したがって、制御装置505は、少なくともバ
ンク検査・選択コードまたはバンク更新コードによって
発生された信号に応答して動作する。Referring now to FIG. 6, a block diagram of the firmware subsystem 242 according to the present invention is shown. In this figure, two memory banks, memory bank 0 502 and memory bank 1
504 is managed by the control device 505. Controller 505 controls the reading and writing of firmware from and to memory bank 0 502 and memory bank 1 504. The firmware subsystem 242 is connected to appropriate address, data, and control lines as shown in FIG. 3 or FIG. The memory bank 0 502 and the memory bank 1 504 are electrically connected in a parallel circuit arrangement to each other, and are also connected to the control device 505 as shown in FIG. This controller is
Memory bank 0 502 and memory bank 1 504
The selected one is always write-protected. Preferably, the complete firmware (ie, POST and BIOS required for the operation of the computer system) is stored in memory bank 0 502 and memory bank 1 504, respectively. POST contains a code part according to the invention. Such a code portion is shown in FIG.
Is a bank inspection / selection routine shown in steps 702 to 728 of FIG. The bank update code is part of the firmware update utility program (FIG. 17), but initially resides, for example, on a diskette (not shown). Receiving the diskette in diskette drive 108 allows the bank update code to be properly loaded into system unit 102. Further, the system unit 10
2 is connected as a server in the LAN as shown in FIG. 2, the client can appropriately load the update code from the system unit 102 which is a server. Such an update code causes a reprogramming of the selected memory bank 0 502 or memory bank 1504 with the updated firmware. Therefore, controller 505 operates in response to at least a signal generated by the bank test / select code or the bank update code.
【0036】図7は、ファームウェア・サブシステム2
42をより詳細に示す図である。ファームウェア・サブ
システム242は、複数(たとえば2つ)の回路内再プ
ログラミング可能(すなわち書換可能)不揮発性メモリ
・デバイスであるメモリ・バンク0 502とメモリ・
バンク1 504を含んでいる。メモリ・デバイスすな
わちメモリ・バンク0 502およびメモリ・バンク1
504は、"Intel Memory Products 1991"第6−55
ないし6ー80ページに記載のIntel28F010
フラッシュ・メモリ・デバイスなどの形式の半導体から
なる。Intel28F010フラッシュ・メモリは、
128キロバイトのデータ記憶容量を提供する。図6の
制御装置505は、信号WRSEL508、WAE51
0、WRGATE512、ALTBANK514、FS
EL516、SWR518、BSP520に対応する入
力線と、信号CE1522、CE0524、OE52
6、WE528、PVE530に対応する出力線とを有
するイネーブル論理デバイス500、電圧生成機構であ
るDC−DCコンバータ507とスイッチ506、およ
び入力線上の様々な入力信号(WRSEL508、WA
E510、WRGATE512、ALTBANK51
4、FSEL516、SWR518、BSP520)の
生成回路を含んでいる(図7)。これらの入力信号は、
本明細書に関する分野の当業者には良く理解されるとお
り、バンク検査・選択コード、バンク更新コード、BS
P信号生成機構600または様々なハードウェア内で発
生する。イネーブル論理デバイス500は、たとえば、
Advanced Micro Devices, Inc.(AMD)から市販され
ている論理デバイス「PAL16R8D」である。所与
の時点で活動状態になれるのは、メモリ・バンク0 5
02またはメモリ・バンク1504のどちらか一方であ
る。イネーブル論理デバイス500のイネーブル論理
が、どのバンクが活動状態(活動バンク)になるかを決
定する。スイッチ506は、線532を介してメモリ・
バンク0 502とメモリ・バンク1 504にプログ
ラミング電圧Vppを供給する、DC−DCコンバータ
507(+5Vを+12Vに変換する)を制御する。ス
イッチ506は、たとえば、Motolora,Inc.から市販さ
れているトランジスタ・デバイス「2N3904」であ
る。DC−DCコンバータ507は、たとえば、Intern
ational Power Sources, Inc.から市販されているデバ
イス「NMF0512S」である。メモリ・バンク0
502とメモリ・バンク1 504は、アドレス線とデ
ータ線に接続され、WRSEL508、WAE510、
WRGATE512、ALTBANK514、FSEL
516、SWR518は、十分に当技術分野の技術の範
囲内に含まれるある方式で制御線に接続される(図3ま
たは図5を参照されたい)。並列のメモリ・バンク0
502とメモリ・バンク1 504は、PCB201お
よび401の基板に永久的に固定することができる。と
いうのは、これらのメモリ・バンクは、ソケット挿入式
の以前のコンピュータ・システムのROMと異なり、そ
のままで再プログラミングできるからである。BSP信
号生成機構600の出力線であるBSP520およびP
ROCESSOR RESET604については、後で
図10に関して論じる。FIG. 7 shows the firmware subsystem 2
FIG. 42 is a diagram showing 42 in more detail. Firmware subsystem 242 includes a plurality of (eg, two) in-circuit reprogrammable (ie, rewritable) non-volatile memory devices, memory bank 0 502 and memory
Bank 1 504 is included. Memory device or memory bank 0 502 and memory bank 1
504 is "Intel Memory Products 1991" No. 6-55
Intel28F010 on pages 6-80
It consists of semiconductors in the form of flash memory devices and the like. Intel 28F010 flash memory is
Provides 128 kilobytes of data storage capacity. The control device 505 in FIG. 6 includes signals WRSEL 508 and WAE 51
0, WRGATE 512, ALTBANK 514, FS
Input lines corresponding to EL516, SWR518, BSP520 and signals CE1522, CE0524, OE52
6, enable logic device 500 having output lines corresponding to WE 528, PVE 530, DC-DC converter 507 and switch 506, which are voltage generating mechanisms, and various input signals (WRSEL 508, WA) on input lines.
E510, WRGATE512, ALTBANK51
4, FSEL 516, SWR 518, BSP 520) (FIG. 7). These input signals are
As will be appreciated by those skilled in the art to which this specification pertains, bank inspection and selection codes, bank update codes, BS
Occurs in the P signal generator 600 or various hardware. Enable logic device 500 includes, for example,
This is a logic device “PAL16R8D” commercially available from Advanced Micro Devices, Inc. (AMD). At any given time, only active memory banks 0 5
02 or memory bank 1504. The enable logic of the enable logic device 500 determines which bank is active (active bank). Switch 506 is connected to memory
It controls a DC-DC converter 507 (converts + 5V to + 12V), which supplies a programming voltage Vpp to bank 0 502 and memory bank 1 504. Switch 506 is, for example, a transistor device “2N3904” available from Motolora, Inc. The DC-DC converter 507 is, for example, an Intern
a device "NMF0512S" commercially available from ational Power Sources, Inc. Memory bank 0
502 and memory bank 1 504 are connected to address and data lines, and WRSEL 508, WAE 510,
WRGATE512, ALTBANK514, FSEL
516, SWR 518 are connected to control lines in some manner well within the skill of the art (see FIG. 3 or 5). Parallel memory bank 0
502 and memory bank 1 504 can be permanently fixed to the PCB 201 and 401 substrates. This is because these memory banks can be reprogrammed as is, unlike the ROMs of previous computer systems with socket insertion. BSP 520 and P which are output lines of BSP signal generation mechanism 600
ROCESSOR RESET 604 will be discussed later with respect to FIG.
【0037】Intel28F010フラッシュ・メモ
リのメモリ・バンクを1つだけ使用したサブシステム
は、無力化しやすくなることに留意されたい。その構造
上、フラッシュ・メモリ・デバイスは、まず完全に消去
しなければ、再プログラミングできない。フラッシュ・
メモリを消去している期間中または再プログラミングを
完了できないうちにコンピュータ・システムの電源が失
われた場合、クリティカルな初期設定プログラム(PO
ST)が失われる可能性が高い。POSTがないと、そ
のシステムは「ブート」することができず、したがっ
て、唯一のメモリ・バンク内のファームウェアを更新す
る更新プログラムをロードし実行することができなくな
る。It should be noted that subsystems using only one memory bank of the Intel 28F010 flash memory are more susceptible to disabling. By its structure, a flash memory device cannot be reprogrammed without first being completely erased. flash·
If the computer system loses power while erasing memory or before reprogramming can be completed, a critical initialization program (PO
ST) is likely to be lost. Without POST, the system would not be able to "boot" and thus be unable to load and execute updates that would update the firmware in only one memory bank.
【0038】図7を引き続き参照して、イネーブル論理
デバイス500のより詳細な説明を行う。イネーブル論
理デバイス500は、書込み選択ビットまたは書込み選
択信号(WRSEL)を入力として有する。WRSEL
信号は、入出力制御ポートから取得されるビットであ
り、選択されたメモリ・バンク0 502またはメモリ
・バンク1 504への書込みを可能にするのに使用さ
れる。WRSEL信号の供給に使用される制御ポート
は、たとえば、図3または図5のメモリ制御ユニット2
56内に常駐する標準入出力ポートである。制御ポート
は、当技術分野で周知のIntel86ファミリ・プロ
セッサの「OUT」命令を使ってアクセスされる。WR
SEL508が論理0の時、書込みが許可される。この
WRSELビットは、直接プログラム制御下にある。直
接プログラム制御とは、更新ユーティリティ・プログラ
ム(図17を参照されたい)のステップ800〜810
のバンク更新コードや、バンク検査・選択コードのステ
ップ702〜728などのプログラム・コードによる制
御であると理解されたい。With continued reference to FIG. 7, a more detailed description of the enable logic device 500 will be provided. The enable logic device 500 has a write select bit or a write select signal (WRSEL) as an input. WRSEL
The signal is a bit obtained from the I / O control port and is used to enable writing to the selected memory bank 0 502 or memory bank 1 504. The control port used to supply the WRSEL signal is, for example, the memory control unit 2 of FIG. 3 or FIG.
It is a standard input / output port resident in 56. The control port is accessed using the "OUT" instruction of the Intel 86 family processor, which is well known in the art. WR
When SEL 508 is logic 0, writing is allowed. This WRSEL bit is under direct program control. Direct program control refers to steps 800-810 of the update utility program (see FIG. 17).
Is understood to be controlled by a program code, such as the bank update code of step No. and steps 702 to 728 of the bank inspection / selection code.
【0039】書込み権限イネーブル(WAE)ビット
(信号)510は、バンクを再プログラミングできなく
する保護機能である。たとえば、制御装置505は、信
号生成機構534(図8)を含むことができる。信号生
成機構534は、たとえば3位置キー・スイッチと適当
な電位の供給源(共に図示せず)からなる。このスイッ
チの1つの位置は、OFFまたはディスエーブルの位置
である。このスイッチの第2の位置は、ONであるが、
保守権限はない。第3の位置は、保守権限付きのONで
ある。保守権限は、「サービス・モード」の動作と同等
であると見なすことができる。すなわち、有資格のコン
ピュータ・サービス技師だけがある作業の実行を許可さ
れるモードである。信号WAEは、このスイッチが保守
権限付きのON位置にある時に限って、このスイッチに
よってイネーブル(たとえば論理0に)されることにな
る。これによって、一般ユーザがメモリ・バンク0 5
02とメモリ・バンク1 504のファームウェアの内
容を変更できないことが保証される。もちろん、WAE
510はいくつかの方式で制御することができ、スイッ
チはその1例に過ぎない。WAE信号は、プログラム式
入出力ポートを含み得るコンピュータ・システム内の他
の論理回路によって制御することもできる。この追加の
保護レベルをサポートすることを望まないシステムで
は、このWAE信号は、常にイネーブルの状態になる。The write authority enable (WAE) bit (signal) 510 is a protection feature that prevents the bank from being reprogrammed. For example, the controller 505 can include a signal generation mechanism 534 (FIG. 8). The signal generating mechanism 534 comprises, for example, a three-position key switch and a source of appropriate potential (both not shown). One position of this switch is the OFF or Disabled position. The second position of this switch is ON,
No maintenance authority. The third position is ON with maintenance authority. Maintenance authority can be considered to be equivalent to "service mode" operation. In other words, this is the mode in which only qualified computer service technicians are allowed to perform certain tasks. The signal WAE will be enabled (eg, to a logic 0) by the switch only when the switch is in the maintenance authorized ON position. This allows the general user to use memory bank 05
02 and the contents of the firmware in memory bank 1 504 cannot be changed. Of course, WAE
510 can be controlled in a number of ways, and switches are just one example. The WAE signal may also be controlled by other logic in the computer system, which may include a programmed I / O port. In systems that do not wish to support this additional level of protection, the WAE signal will always be enabled.
【0040】イネーブル論理デバイス500の議論を続
けると、書込みゲート(WRGATE)512は、図3
または図5のメモリ制御ユニット256から受け取っ
た、ハードウェアによって生成されるタイミング信号
(活動状態でロー)である。WRGATEは、前述のI
ntel28F010フラッシュ・デバイス仕様書に記
載されるように、また、図25と図26に示すように、
メモリ・バンク0 502とメモリ・バンク1 504
への書込みイネーブル信号(WE)528のパルス幅を
制御する。代替バンク・ビット(ALTBANK)51
4は、読取りまたは書込みの際に代替バンクを選択する
(論理0=代替バンク)。代替バンクとは、BSP52
0によって選択されない側のバンクである。ALTBA
NK514は、図3または図5のメモリ制御ユニット2
56から受け取り、直接プログラム制御下にある。バン
ク選択・保護信号(BSP)520については、図10
ないし15を参照してより詳細に説明するが、この信号
は、どのバンクが「基底」バンク、コールドスタート・
バンクまたは省略時バンクになるのかを決定する(論理
0=メモリ・バンク0 502)。ファームウェア選択
信号(FSEL)516は、読取りサイクル中または書
込みサイクル中に、何らかのファームウェア・アドレス
が復号された時に活動状態になる。FSEL516は、
図3または図5のメモリ制御ユニット256などのハー
ドウェアから受け取り、活動状態でローである。システ
ム読取/書込信号(SWR)518は、ハードウェアに
よって生成されるタイミング信号であり、システム書込
みサイクルの間はハイ、読取りサイクルの間はローであ
る。SWR518は、図3または図5のメモリ制御ユニ
ット256などのハードウェアから受け取る。信号WR
GATE512、FSEL516、SWR518は、ハ
ードウェアによって生成されるタイミング信号または制
御信号であり、本明細書に関する技術分野で十分に理解
されるものである。Continuing with the discussion of the enable logic device 500, the write gate (WRGATE) 512 is
Or a hardware generated timing signal (active low) received from the memory control unit 256 of FIG. WRGATE is based on the aforementioned I
As described in the ntel28F010 flash device specification, and as shown in FIGS. 25 and 26,
Memory bank 0 502 and memory bank 1 504
To control the pulse width of the write enable signal (WE) 528 for writing to the memory. Alternate bank bit (ALTBANK) 51
4 selects an alternate bank when reading or writing (logic 0 = alternate bank). An alternative bank is BSP52
0 is the bank not selected. ALTBA
NK 514 is the memory control unit 2 of FIG. 3 or FIG.
56 and under direct program control. The bank selection / protection signal (BSP) 520 is shown in FIG.
As will be described in more detail with reference to FIGS. 15 through 15, this signal indicates which bank is the "base" bank,
Determine if bank or default bank (logic 0 = memory bank 0 502). The firmware select signal (FSEL) 516 becomes active when any firmware address is decoded during a read or write cycle. FSEL 516
Received from hardware, such as the memory control unit 256 of FIG. 3 or 5, and is active low. System read / write signal (SWR) 518 is a hardware generated timing signal that is high during a system write cycle and low during a read cycle. The SWR 518 is received from hardware such as the memory control unit 256 of FIG. 3 or FIG. Signal WR
GATE 512, FSEL 516, and SWR 518 are timing or control signals generated by hardware and are well understood in the art related to this specification.
【0041】イネーブル論理デバイス500の出力線上
のプログラミング電圧イネーブル出力信号(PVE)5
30は、スイッチ506の動作を制御する。PVE53
0がスイッチ506をイネーブルする時、DC−DCコ
ンバータ507がイネーブルされ、線532上で+12
Vプログラミング電圧Vppをメモリ・バンク0 50
2とメモリ・バンク1 504に供給する。DC−DC
コンバータ507は、システム・ユニット102内で簡
単に得られる電位(+5V)の供給源に接続される。P
VE530がスイッチ506をディスエーブルする時、
メモリ・バンク0 502またはメモリ・バンク1 5
04への書込みは成功しない。Intel28F010
フラッシュ・メモリ・デバイスは、デバイスの再プログ
ラミング可能機能または書換可能機能を使用可能にする
のに+12Vを必要とする。Programming voltage enable output signal (PVE) 5 on the output line of enable logic device 500
30 controls the operation of the switch 506. PVE53
When 0 enables switch 506, DC-DC converter 507 is enabled and a +12 on line 532 is enabled.
V programming voltage Vpp is applied to memory bank 0 50
2 and memory bank 1 504. DC-DC
Converter 507 is connected to a source of potential (+ 5V) that is easily obtained within system unit 102. P
When the VE 530 disables the switch 506,
Memory bank 0 502 or memory bank 15
Writing to 04 is not successful. Intel28F010
Flash memory devices require + 12V to enable the reprogrammable or rewritable functions of the device.
【0042】チップ・イネーブル信号(CE1、CE
0)、出力イネーブル信号(OE)および書込みイネー
ブル信号(WE)は、メモリ・バンク0 502とメモ
リ・バンク1 504のIntel28F010フラッ
シュ・メモリ・デバイスへの入力信号である。チップ・
イネーブル0信号(CE0)524とチップ・イネーブ
ル1信号(CE1)522は、メモリ・バンク0 50
2とメモリ・バンク1504のどちらが活動状態になる
のかを決定する。それぞれのチップ・イネーブル信号
は、図23に示すように当該のフラッシュ・デバイスの
要素内に含まれる、当該のデバイスの制御論理回路、入
力緩衝回路、復号回路およびセンス・アンプを活動化す
る。出力イネーブル(OE)526は、メモリ・バンク
0 502とメモリ・バンク1 504の両方に共通の
入力信号であり、活動バンクの読取りをイネーブルす
る。出力イネーブル(OE)は、読取りサイクル中にデ
バイスのデータ出力信号を活動化する。書込みイネーブ
ル(WE)528は、メモリ・バンク0 502とメモ
リ・バンク1 504の両方に共通の入力信号であり、
データ書込みを許可するかどうか、およびいつそれを許
可するのかを決定する。書込みイネーブル信号は、活動
バンクの制御レジスタとアレイへの書込みを制御する。
これらの信号(OEとWE)はどちらも、CE0信号と
CE1信号によってフラッシュ・メモリの内部でゲート
される。したがって、読取りおよび書込みは、活動バン
クに関してしか行えない。The chip enable signals (CE1, CE
0), the output enable signal (OE) and the write enable signal (WE) are the input signals to the Intel 28F010 flash memory devices of memory bank 0 502 and memory bank 1 504. Tip ・
The enable 0 signal (CE0) 524 and the chip enable 1 signal (CE1) 522 are connected to the memory bank 0 50
2 and memory bank 1504 to determine which will be active. Each chip enable signal activates the control logic, input buffer, decode, and sense amplifiers of the device, as shown in FIG. 23, contained within the elements of the flash device. Output enable (OE) 526 is an input signal common to both memory bank 0 502 and memory bank 1 504 and enables reading of the active bank. The output enable (OE) activates the data output signal of the device during a read cycle. Write enable (WE) 528 is an input signal common to both memory bank 0 502 and memory bank 1 504;
Decide whether to allow data writing and when to allow it. The write enable signal controls writing to the control registers and arrays of the active bank.
Both of these signals (OE and WE) are gated inside the flash memory by the CE0 and CE1 signals. Therefore, reading and writing can only be performed on the active bank.
【0043】イネーブル論理デバイス500は、イネー
ブル論理デバイス500または他の物理的実施態様(図
示せず)で使用される下記の1組の式によって定義され
る。以下の表記法では、下線"_"は、純粋に読者のため
の表記であり、その信号が活動状態でローであることを
意味する。式の右辺で使用される表記法は、"!"が論理
NOT、"&"が論理AND、"#"が論理ORである。"
!"は、式の左辺で使用される時、活動状態でローを意
味する。すなわち、右辺の値が活動状態になる時、左辺
の信号は、ローの活動状態になる。これらの信号に関す
る5つの式は以下の通りである。The enable logic device 500 is defined by the following set of equations used in the enable logic device 500 or other physical implementation (not shown). In the notation below, an underscore "_" is purely for the reader and means that the signal is active low. The notation used on the right side of the expression is that "!" Is a logical NOT, "&" is a logical AND, and "#" is a logical OR. "
! "Means active low when used on the left side of the equation. That is, when the value on the right becomes active, the signal on the left becomes active low. The formula is as follows:
【0044】 !PVE_ = !WRSEL_ & !WAE !CEO_ = !FSEL_ & !BSP_ & ALTBANK_ # !FSEL_ & BSP_ & !ALTBANK_ !CE1_ = !FSEL_ & CE0_ !OE_ = !FSEL_ & !SWR_ !WE_ = !FSEL_ & SWR_ & !ALTBANK_ & !WRSEL_ & !WAE & !WRGATE_! PVE_ =! WRSEL_ &! WAE! CEO_ =! FSEL_ &! BSP_ & ALTBANK_ #! FSEL_ & BSP_ &! ALTBANK_! CE1_ =! FSEL_ & CE0_! OE_ =! FSEL_ &! SWR_! WE_ =! FSEL_ & SWR_ &! ALTBANK_ &! WRSEL_ &! WAE &! WRGATE_
【0045】上記の5つの式は、イネーブル論理デバイ
ス500の動作を完全に記述しているが、幾つかの計算
例を示すと有益であろう。Although the above five equations fully describe the operation of enable logic device 500, it will be helpful to show some example calculations.
【0046】例1 省略時(基底)電源オン・バンク
(バンク0)向けの読取り動作(図9の行1を参照され
たい):まず: SWR=0、WRSEL=1、WAE=0、FSEL=1、BSP=0、ALTBANK=1、W
RGATE=1 次に: PVE=1、CE0=1、CE1=1、OE=1、WE=1 次に:読取り動作を開始するため、FSEL=0になる。SWR=
0であるので、読取り動作が行われる。次に: PVE=1、CE1=1、WE=1、CE0=0、OE=0 その後、FSELが1になるまで、データが有効になる。Example 1 Read operation for default (base) power-on bank (bank 0) (see row 1 of FIG. 9): First: SWR = 0, WRSEL = 1, WAE = 0, FSEL = 1, BSP = 0, ALTBANK = 1, W
RGATE = 1 Next: PVE = 1, CE0 = 1, CE1 = 1, OE = 1, WE = 1 Next: To start the read operation, FSEL = 0. SWR =
Since it is 0, a read operation is performed. Next: PVE = 1, CE1 = 1, WE = 1, CE0 = 0, OE = 0 After that, the data is valid until FSEL becomes 1.
【0047】例2 バンク1の更新が許可された状態で
の、バンク1向けの書込み動作(図9の行4を参照され
たい): まず: SWR=0、BSP=0、WRSEL=1、WAE=0、FSEL=1、ALTBANK=0、W
RGATE=1 次に: PVE=1、CE0=1、CE1=1、OE=1、WE=1 次に: WAE=0、WRSEL=0、その後: PVE=0 この時点で、システムは、指定された時間(遅延)の
間、+12VのVpp電圧(線532)が安定するのを
待つ。 次に:プロセッサ202が、所望のデータの書込みサイ
クルを開始する。 次に:WRGATE=0、SWR=1、FSEL=0 次に:CE0=1、WE=0、PVE=1、CE1=0、OE=1 この時点で、WRGATEが1になるまで、データが書き込ま
れる。Example 2 Write Operation for Bank 1 with Bank 1 Update Allowed (See Row 4 of FIG. 9): First: SWR = 0, BSP = 0, WRSEL = 1, WAE = 0, FSEL = 1, ALTBANK = 0, W
RGATE = 1 Next: PVE = 1, CE0 = 1, CE1 = 1, OE = 1, WE = 1 Next: WAE = 0, WRSEL = 0, then: PVE = 0 At this point, the system is designated Wait for the +12 V Vpp voltage (line 532) to stabilize during the time delay. Next: The processor 202 starts a write cycle of the desired data. Next: WRGATE = 0, SWR = 1, FSEL = 0 Next: CE0 = 1, WE = 0, PVE = 1, CE1 = 0, OE = 1 At this point, data is written until WRGATE becomes 1. It is.
【0048】単一のフラッシュ・メモリ・デバイス、た
とえばメモリ・バンク1 504からの読取りとそれへ
の書込みに使用される様々な信号の波形のグラフについ
ては、図24、図25および図26を参照されたい。さ
らに、イネーブル論理デバイス500への入力信号BS
P、ALTBANK、WAEに依存するメモリ・バンク
0 502とメモリ・バンク1 504の読取り条件と
書込み条件を示す図9の表を参照されたい。See FIGS. 24, 25 and 26 for graphs of the waveforms of the various signals used to read from and write to a single flash memory device, eg, memory bank 1 504. I want to be. Further, the input signal BS to the enable logic device 500
See the table in FIG. 9 which shows the read and write conditions for memory bank 0 502 and memory bank 1 504 depending on P, ALTBANK, WAE.
【0049】再度図7を参照すると、メモリ・バンク0
502とメモリ・バンク1 504は、物理的に別々
の部分である必要はない。2つのバンク、メモリ・バン
ク0502とメモリ・バンク1 504の論理機能を表
す1つの部分を、単一のデバイスとして実装することが
できる。コストの削減や基板空間の縮小などの目的のた
め、この部分を再実装することができる。Referring again to FIG. 7, memory bank 0
502 and memory bank 1 504 need not be physically separate parts. One part representing the logical function of the two banks, memory bank 0502 and memory bank 1 504, can be implemented as a single device. This part can be remounted for purposes such as cost reduction and board space reduction.
【0050】図7のBSP信号生成機構600は、メモ
リ・バンク0 502とメモリ・バンク1 504のう
ちのどちらのバンクが「基底」バンク、コールドスター
ト・バンクまたは省略時バンクになるのかを決定する。
BSP信号生成機構600は、「タイムアウト」機能ま
たはタイムアウト手段も含む。タイムアウト機能は、P
OSTとあいまって、基底バンクを選択する働きをす
る。パーソナル・コンピュータ・システム100が最初
に電源を投入される時、BSP信号生成機構600は、
省略時設定としてたとえばメモリ・バンク0 502
を、自動的に基底バンクとして選択する。POSTが、
所定の時間中にこの設定を「受け入れ(accept)」ない
場合、BSP信号生成機構600のハードウェアは、自
動的に基底バンクの選択をメモリ・バンク1 504に
変更し、プロセッサ202を再始動する。現バンク内の
ファームウェアが、検査合計(所定の値をもたらさなけ
ればならない)などの妥当性検査に合格した場合、PO
STは、そのファームウェアが「受け入れ可能(accepta
ble)」であると見なす。POSTは、新規の選択を自動
実行するのに使用されるタイムアウトを取り消すことに
よって、BSP設定を受け入れる。タイムアウト手段に
ついては、図10、図11および図13に関してより詳
しく説明する。この自動再選択によって、パーソナル・
コンピュータ・システム100が、メモリ・バンク0
502内の無効なファームウェア・イメージから回復で
きるようになり、もしくは、書き込み保護設定をメモリ
・バンク1504に適用して、メモリ・バンク0 50
2を更新できるようになる。The BSP signal generator 600 of FIG. 7 determines which of memory bank 0 502 and memory bank 1 504 will be the “base” bank, cold start bank or default bank. .
The BSP signal generator 600 also includes a "timeout" function or means. The timeout function is P
Together with OST, it works to select the base bank. When the personal computer system 100 is first powered up, the BSP signal generator 600
By default, for example, memory bank 0 502
Is automatically selected as the base bank. POST is
If this setting is not "accepted" during a predetermined period of time, the hardware of the BSP signal generator 600 automatically changes the base bank selection to memory bank 1 504 and restarts the processor 202. . If the firmware in the current bank passes a validity check, such as a checksum (which must yield a predetermined value), the PO
ST states that the firmware is "acceptable".
ble) ". POST accepts BSP settings by canceling the timeout used to automatically execute a new selection. The timeout means will be described in more detail with respect to FIGS. 10, 11 and 13. This automatic reselection allows
The computer system 100 operates in memory bank 0
It is now possible to recover from an invalid firmware image in 502 or apply a write-protect setting to memory bank 1504 to
2 can be updated.
【0051】ここで図10を参照すると、BSP520
信号を自動的に生成する装置であるBSP信号生成機構
600の概略図が示されている。BSP信号生成機構6
00は、複数(たとえば4本)の入力線(LOCK B
SP606、CANCELTIMEOUT608、PO
WER ON RESET610、CLOCK612)
と複数の(たとえば2本)の出力線(BSP520、P
ROCESSORRESET604)を有する自動セッ
ト・リセット制御デバイス602を含んでいる。入力線
LOCK BSP606、CANCEL TIMEOU
T608、POWER ON RESET610、CL
OCK612と出力線PROCESSOR RESET
604は、プレーナ入出力バス234(図3)またはロ
ーカル・バス418(図5)の制御要素または制御線に
適当に電気接続される。BSP信号生成機構600は、
様々な入力信号LOCK BSP、CANCELTIM
EOUT、POWER ON RESET、CLOCK
の生成回路も含んでいる。2つの出力信号、BSP52
0とPROCESSOR RESET604は、図のよ
うに、自動セット・リセット制御デバイス602によっ
て制御される。BSP520信号は、図7のイネーブル
論理デバイス500に、2つの使用可能なファームウェ
ア・バンクのうちのどちらを「基底」バンク、コールド
スタート・バンクまたは省略時バンクとして選択しなけ
ればならないかを示す。PROCESSOR RESE
T604信号は、プレーナ入出力バス234の制御要素
または制御線424に接続される。PROCESSOR
RESET604信号は、活動状態に駆動された時、
システム・プロセッサ202をリセットしなければなら
ないが、そのコンピュータ・システムの残りの部分はリ
セットしてはならないことを示す出力信号である。シス
テム・プロセッサ202がリセットされると、プロセッ
サ202は、ファームウェア・サブシステム242内の
定義済みの位置から実行を再始動する。自動セット・リ
セット制御デバイスは、信号LOCKBSP606、C
ANCEL TIMEOUT608、POWER ON
RESET610、CLOCK612を入力とする。
システム・リセットの後、CANCEL TIMEOU
T608信号とLOCK BSP606信号は、論理0
になる必要がある。LOCK BSP606信号とCA
NCEL TIMEOUT608信号は、メモリ制御ユ
ニット256の制御部分から供給され、直接プログラム
制御下にある。Referring now to FIG. 10, BSP 520
A schematic diagram of a BSP signal generator 600, which is a device that automatically generates signals, is shown. BSP signal generation mechanism 6
00 is a plurality of (for example, four) input lines (LOCK B
SP606, CANCELTIMEOUT608, PO
WER ON RESET610, CLOCK612)
And a plurality of (for example, two) output lines (BSP520, PSP
ROCESSOR RESET 604). Input line LOCK BSP606, CANCEL TIMEOU
T608, POWER ON RESET610, CL
OCK612 and output line PROCESSOR RESET
604 is suitably electrically connected to the control elements or lines of the planar I / O bus 234 (FIG. 3) or the local bus 418 (FIG. 5). The BSP signal generation mechanism 600
Various input signals LOCK BSP, CANCELTIM
EOUT, POWER ON RESET, CLOCK
Is also included. Two output signals, BSP52
0 and PROCESSOR RESET 604 are controlled by an automatic set / reset control device 602 as shown. The BSP 520 signal indicates to the enable logic device 500 of FIG. 7 which of the two available firmware banks should be selected as the “base” bank, cold start bank or default bank. PROCESSOR RESE
The T604 signal is connected to a control element or control line 424 of the planar input / output bus 234. PROCESSOR
The RESET 604 signal, when driven active,
The output signal indicates that the system processor 202 must be reset, but the rest of the computer system must not be reset. When the system processor 202 is reset, the processor 202 restarts execution from a defined location in the firmware subsystem 242. The automatic set / reset control device outputs signals LOCKBSP 606, C
ANCEL TIMEOUT608, POWER ON
RESET 610 and CLOCK 612 are input.
After a system reset, CANCEL TIMEOU
The T608 signal and the LOCK BSP606 signal are logic 0
Need to be LOCK BSP606 signal and CA
The NCEL TIMEOUT 608 signal is provided by the control portion of the memory control unit 256 and is under direct program control.
【0052】LOCK BSP606は、現電源オン・
サイクルの間、BSP520出力信号を、それが現在定
義されている状態にロックする。一旦ロックされると、
自動セット・リセット制御デバイス602への電力を切
った後にもう一度投入しない限り、BSP520信号を
変更することはできない。BSP520信号をロックす
るのは、単一の電源オン・セッション中は、メモリ・バ
ンク0 502とメモリ・バンク1 504のうちのど
ちらか一方しか変更できないことを保証するためであ
る。このロックによって、さらなるシステム保全性レベ
ルがもたらされる。BSP520信号をロックした後、
どのバンクが「基底」バンクになり書き込み保護される
かに関しては、選択は固定される。「基底」バンクが選
択された後は、基底バンクでないバンクは、代替バンク
になる。CANCEL TIMEOUT608信号は、
現在活動状態のすべてのタイムアウト・シーケンスを取
り消す。このタイムアウト・シーケンスは、バンク選択
を自動的に(BSP信号を介して)変更し、プロセッサ
を自動的に再始動し、したがって、システム初期設定を
もう一度、異なるバンクのファームウェアを用いて開始
するための手段を提供する。有効なPOSTは、タイム
アウトが発生する前にタイムアウトを取り消して、異な
るバンクの選択が行われないようにする。無効なPOS
Tは、タイムアウトを取り消さず、また取り消すことが
できず、したがって、タイムアウト手段が、もう一方の
有効なファームウェアのバンクを選択することになる。
POWER ON RESET610信号は、システム
電源(図示せず)から生成される入力である。POWE
R ON RESET610信号は、システム電源が指
定された電位に達すると活動状態に駆動され、すべての
コンピュータ・システム構成要素が初期設定できるよう
に、指定された時間の間活動状態に保たれる。その後、
POWER ON RESET610信号は、非活動状
態になり、システム電源が中断しない限り非活動状態の
ままになる。電源とその動作は、普通の周知のものであ
る。CLOCK612信号は、固定周波数で走行する発
振器207によって生成される。CLOCK612の周
波数の典型的な値は、たとえば25メガヘルツである。The LOCK BSP 606 has the current power-on
During the cycle, lock the BSP 520 output signal to the state in which it is currently defined. Once locked,
The BSP 520 signal cannot be changed unless the power to the automatic set / reset control device 602 is turned off and then turned on again. The locking of the BSP 520 signal is to ensure that only one of memory bank 0 502 and memory bank 1 504 can be changed during a single power-on session. This lock provides an additional level of system integrity. After locking the BSP520 signal,
The choice is fixed as to which bank becomes the “base” bank and is write protected. After the "base" bank has been selected, the non-base bank is the replacement bank. The CANCEL TIMEOUT 608 signal is
Cancel all currently active timeout sequences. This time-out sequence automatically changes the bank selection (via the BSP signal) and automatically restarts the processor, thus restarting the system initialization once again with a different bank of firmware. Provide a means. A valid POST cancels the timeout before it occurs, preventing a different bank from being selected. Invalid POS
T does not and cannot cancel the timeout, so the timeout means will select another valid firmware bank.
The POWER ON RESET 610 signal is an input generated from a system power supply (not shown). POWER
The R ON RESET 610 signal is driven active when the system power supply reaches the specified potential and remains active for a specified time so that all computer system components can be initialized. afterwards,
The POWER ON RESET 610 signal goes inactive and remains inactive unless system power is interrupted. Power supplies and their operation are common and well known. The CLOCK 612 signal is generated by an oscillator 207 running at a fixed frequency. A typical value for the frequency of CLOCK 612 is, for example, 25 megahertz.
【0053】図11は、自動セット・リセット制御デバ
イス602の好ましい実施例をより詳細に示す図であ
る。自動セット・リセット制御デバイス602は、たと
えば、図のように接続されたBSPロック制御論理回路
614、タイマ(カウンタ)論理回路616、トグル・
ラッチ618およびリセット・パルス生成回路620を
含んでいる。自動セット・リセット制御デバイス602
内部の信号は、ENDRESET605、INTERN
AL RESET624、TIMEOUT626および
RESTART622である。END RESET60
5は、リセット・パルス生成回路620の出力であり、
プロセッサ・リセット活動の完了をタイマ(カウンタ)
論理回路616に知らせる。INTERNAL RES
ET624は、タイマ(カウンタ)論理回路616の出
力であり、活動状態の時、BSPロック制御論理回路6
14が既知の状態に初期設定するために使用する。TI
MEOUT626は、タイマ(カウンタ)論理回路の出
力であり、活動状態の時、タイムアウトが発生したこ
と、およびファームウェア再始動シーケンスが必要であ
ることを、BSPロック制御論理回路614に示す信号
である。RESTART622は、BSPロック制御論
理回路614の出力であり、活動状態の時、トグル・ラ
ッチ618にBSP520信号をトグルさせ(toggle)、
したがって、PROCESSOR RESET604を
発生させる信号である。FIG. 11 shows a preferred embodiment of the automatic set / reset control device 602 in more detail. The automatic set / reset control device 602 includes, for example, a BSP lock control logic circuit 614, a timer (counter) logic circuit 616, a toggle
A latch 618 and a reset pulse generation circuit 620 are included. Automatic set / reset control device 602
Internal signals are ENDRESET 605, INTERN
AL RESET 624, TIMEOUT 626, and RESTART 622. END RESET60
5 is an output of the reset pulse generation circuit 620,
Timer (counter) indicates completion of processor reset activity
Notify the logic circuit 616. INTERNAL RES
ET 624 is the output of the timer (counter) logic circuit 616 and, when active, the BSP lock control logic circuit 616
14 is used to initialize to a known state. TI
MEOUT 626 is the output of the timer (counter) logic, which when active, indicates to the BSP lock control logic 614 that a timeout has occurred and that a firmware restart sequence is required. RESTART 622 is the output of BSP lock control logic 614, which when active, causes toggle latch 618 to toggle the BSP 520 signal,
Therefore, it is a signal for generating PROCESSOR RESET 604.
【0054】図12、図13、図14および図15で
は、論理0であるシステム接地をGROUND(GN
D)で示し、論理1であるシステム電源をVccで示
す。図12を参照すると、BSPロック制御論理回路6
14の概略ブロック図が示されている。BSPロック制
御論理回路614は、2つの標準J− ̄Kフリップ・フ
ロップ638および640と、1つのNOTゲート(イ
ンバータ)642を含んでいる。NOTまたは反転を示
す従来の上線による表記の代わりに、前に上線" ̄"を置
く表記法を使用する。これらの要素、J− ̄Kフリップ
・フロップ638および640ならびにインバータ64
2は、図示のように接続される。第1のJ− ̄Kフリッ
プ・フロップは、POWER ON RESET610
信号がインバータ642を通過した後に、POWER
ON RESET610信号によってクリアされる。こ
れによって、そのQ出力が論理0状態に初期設定され
る。J入力は、論理1状態を確立するためVcc端子に
接続され、 ̄K入力は、Q出力からのフィードバック・
ループに接続される。したがって、POWER ON
RESET610の直後に、 ̄K入力は、論理0状態に
なる。このJ− ̄Kフリップ・フロップの真理値表(図
27)によれば、J入力および ̄K入力でこの状態が確
立された後は、LOCK BSP606信号の正に向か
う遷移を受け取った時にQ出力がトグルされ、したがっ
て、Qが1状態に変化する。このJ− ̄Kフリップ・フ
ロップの真理値表をさらに調べると、この新しい状態
(J=1、 ̄K=1)では、LOCK BSP606線
上で後続の遷移があっても、Q出力がハイ状態に保たれ
ることが判る。したがって、このJ− ̄Kフリップ・フ
ロップ638は、そのクリア(CLR)入力で活動状態
の入力を受け取ることによってしか、その状態を(J=
1、 ̄K=1)から変更できない。このCLR入力は、
POWER ON RESET610信号から直接に導
出される。また、このフリップ・フロップの ̄Q出力
が、Q出力の論理反転として追従することに留意された
い。第1のJ− ̄Kフリップ・フロップ638の ̄Q出
力は、第2のJ− ̄Kフリップ・フロップ640のJ入
力に接続される。このJ− ̄Kフリップ・フロップ64
0の ̄K入力は、「プリセット」(PRE)入力と同様
に、論理ハイのVcc端子に接続される。クロック(C
LK)入力は、TIMEOUT626信号に接続され、
クリア(CLR)入力は、前述のようにINTERNA
L RESET624信号線に接続される。Q出力は、
RESTART622信号である。In FIGS. 12, 13, 14 and 15, the system ground, which is logic 0, is connected to GROUND (GN
D), the system power supply which is logic 1 is indicated by Vcc. Referring to FIG. 12, the BSP lock control logic circuit 6
A schematic block diagram of 14 is shown. The BSP lock control logic 614 includes two standard J- @ K flip-flops 638 and 640 and one NOT gate (inverter) 642. Instead of the conventional overline notation indicating NOT or inversion, the notation is preceded by an overline "@". These elements, J- @ K flip-flops 638 and 640, and inverter 64
2 are connected as shown. The first J- @ K flip flop is POWER ON RESET 610
After the signal passes through inverter 642, POWER
Cleared by the ON RESET 610 signal. This initializes its Q output to a logic zero state. The J input is connected to the Vcc terminal to establish a logic 1 state, and the  ̄K input is the feedback input from the Q output.
Connected to the loop. Therefore, POWER ON
Immediately after RESET 610, the $ K input goes to a logic zero state. According to the truth table of the J- @ K flip-flop (FIG. 27), after this state has been established at the J and @K inputs, the Q output upon receipt of a positive going transition of the LOCK BSP 606 signal. Is toggled, and thus Q changes to the 1 state. Further examination of the truth table for this J- ̄K flip-flop shows that in this new state (J = 1,  ̄K = 1), the Q output goes high even if there is a subsequent transition on the LOCK BSP 606 line. You can see that it is kept. Therefore, this J- @ K flip-flop 638 changes its state to (J = C) only by receiving an active input at its clear (CLR) input.
1,  ̄K = 1) cannot be changed. This CLR input is
Derived directly from the POWER ON RESET 610 signal. Also note that the  ̄Q output of this flip-flop follows as a logical inversion of the Q output. The  ̄Q output of the first J- ̄K flip-flop 638 is connected to the J input of the second J- ̄K flip-flop 640. This J- ̄K flip flop 64
A $ K input of 0 is connected to a logic high Vcc terminal, similar to a "preset" (PRE) input. Clock (C
LK) input is connected to the TIMEOUT 626 signal;
The clear (CLR) input is INTERNA as described above.
L RESET624 Connected to the signal line. Q output is
This is the signal START 622.
【0055】動作に当たって、J− ̄Kフリップ・フロ
ップ640は、INTERNALRESET624信号
の結果として初期設定される。これによって、論理0状
態のQ出力(RESTART622)が確立される。J
− ̄Kフリップ・フロップ640はこのとき、次の2つ
の形のどちらかでクロック入力(TIMEOUT62
6)に応答する。J入力が1の場合(電源オン・リセッ
トの後ではこれが正常である)、真理値表に示されるよ
うに、TIMEOUT626信号の立上りで、Q出力が
強制的に論理1状態になる。これが、他のデバイスに、
RESTART622の状態が活動状態であることを示
す。しかし、TIMEOUT626信号の立上りの時点
でJ入力が0の場合には、Q出力は現在の状態0のまま
になる。In operation, the J- @ K flip-flop 640 is initialized as a result of the INTERNAL RESET 624 signal. This establishes a logic zero state Q output (RESTART 622). J
The - ̄K flip-flop 640 then asserts the clock input (TIMEOUT62) in one of the following two forms:
Respond to 6). If the J input is 1 (this is normal after a power-on reset), the rising edge of the TIMEOUT 626 signal will force the Q output to a logic 1 state, as shown in the truth table. This is another device,
Indicates that the state of RESTART 622 is active. However, if the J input is 0 at the time of the rising edge of the TIMEOUT 626 signal, the Q output remains at the current state 0.
【0056】これら2つのフリップ・フロップを、図1
2に示した接続で組み合わせると、BSPロック制御論
理回路614の下記の動作が確立される。These two flip-flops are shown in FIG.
2, the following operation of the BSP lock control logic 614 is established.
【0057】POWER ON RESET610の
後、LOCK BSP606のローからハイへの(0か
ら1へ)遷移の前に、TIMEOUT626がローから
ハイへ遷移すると、RESTART622が示される。
LOCK BSP606のローからハイへの遷移の後の
TIMEOUT626の遷移は、すべて無視される。L
OCK BSP606のローからハイへの遷移の後のR
ESTART622線上でローからハイへの遷移を行う
には、POWER ON RESET610が必要であ
る。After TIMEOUT 626 transitions from low to high after POWER ON RESET 610 and before the LOCK BSP 606 transitions from low to high (0 to 1), a RESTART 622 is indicated.
All transitions of TIMEOUT 626 following the low to high transition of LOCK BSP 606 are ignored. L
R after OCK BSP 606 low to high transition
A POWER ON RESET 610 is required to make a low to high transition on the ESTART 622 line.
【0058】この動作によって、LOCK BSP60
6信号が非活動状態のままである限り、TIMEOUT
626信号が、RESTART622状態を生成できる
ことが確立される。しかし、LOCK BSP信号のロ
ーからハイへの遷移の後には、POWER ON RE
SET610信号がBSPロック制御論理回路614を
リセットしない限り、もはやRESTART622線を
活動化することはできない。BSPロック制御論理回路
614には、たとえば、J− ̄Kフリップ・フロップ6
38および640用のTexas InstrumentsのSN74A
LS109Aや、インバータ642用のTexas Instrume
ntsのSN74ALS04などの市販標準TTL部品が
含まれている。もちろん、離散回路であれVLSI構成
要素であれ、他の論理実施態様を使用した等価論理回路
を利用することもできる。By this operation, LOCK BSP60
6 TIMEOUT as long as the signal remains inactive
It is established that the 626 signal can generate a RESTART 622 state. However, after the LOCK BSP signal transitions from low to high, POWER ON RE
The REST 622 line can no longer be activated unless the SET 610 signal resets the BSP lock control logic 614. The BSP lock control logic circuit 614 includes, for example, a J- @ K flip-flop 6
Texas Instruments SN74A for 38 and 640
Texas Instrume for LS109A and inverter 642
Includes commercially available standard TTL components such as nts SN74ALS04. Of course, equivalent logic circuits using other logic implementations, whether discrete circuits or VLSI components, may be utilized.
【0059】ここで図13を参照すると、TIMEOU
T626信号を生成するためのタイマ(カウンタ)論理
回路616の概略ブロック回路図が示されている。この
回路は、別々の8ビット・バイナリ・リセット可能同期
式アップ・カウンタ630、632、634、636
と、1つの2入力NORゲート628を含んでいる。こ
の4つのカウンタは、標準的なカスケード配置に接続さ
れ、単一の32ビット・カウンタとして働くように互い
に結合されている。NORゲートは、POWERON
RESET610信号をEND RESET605信号
と結合する。この論理NORの出力は、タイマ(カウン
タ)論理回路616内でカウンタのリセットに使用され
るINTERNAL RESET624信号であり、ま
たタイマ(カウンタ)論理回路616の出力でもある。
カウンタ630、632、634、636は、INTE
RNAL RESET624信号によって、当該の8ビ
ット・カウンタ線S0およびS1を介して、0に初期設
定される。これらのカウンタの2つの追加入力 ̄ENT
および ̄ENPは、カウンタをオンにゲートするために
ローでなければならない。各段の ̄ENT入力は、CA
NCEL TIMEOUT608信号に接続される。C
ANCEL TIMEOUT608は、カウンタがカウ
ント中であるかないかを有効に制御する。上側の3つの
段のカウンタ630、632、634の ̄ENT入力
は、前段のリップル・キャリー・アウト(RCO)に接
続される。 ̄ENTとRCOを結合すると、4段のカス
ケード接続が完成する。Referring now to FIG. 13, TIMEOU
A schematic block circuit diagram of a timer (counter) logic circuit 616 for generating a T626 signal is shown. This circuit comprises separate 8-bit binary resettable synchronous up counters 630, 632, 634, 636
And one two-input NOR gate 628. The four counters are connected in a standard cascade arrangement and tied together to act as a single 32-bit counter. NOR gate is POWERON
Combine the RESET 610 signal with the END RESET 605 signal. The output of this logic NOR is the INTERNAL RESET 624 signal used to reset the counter in timer (counter) logic 616 and is also the output of timer (counter) logic 616.
The counters 630, 632, 634, 636
Initialized to 0 by the RNAL RESET 624 signal via the respective 8-bit counter lines S0 and S1. Two additional inputs of these counters, @ENT
And $ ENP must be low to gate the counter on. @ENT input of each stage is CA
Connected to the NCEL TIMEOUT 608 signal. C
ANCEL TIMEOUT 608 effectively controls whether the counter is counting or not. The $ ENT inputs of the upper three stage counters 630, 632, 634 are connected to the previous stage ripple carry out (RCO).  ̄ By combining ENT and RCO, a four-stage cascade connection is completed.
【0060】リセット状態を脱出した後に、これらのカ
ウンタは、標準の2進カウンタ・フォーマットで、CL
OCK612の速度で出力を増分する。したがって、最
低位ビット(または最下位ビットLSB)は、CLKク
ロック入力の半分の速度でトグルされる。出力ビットQ
Aが最下位ビットであり、QBがその次の桁のビットで
あり、以下同様にして、ビットQHが最上位ビットであ
る。高位側の各ビットは、それより1つ下位のビットの
半分の速度でトグルされる。この動作は、標準的なデジ
タル2進カウンタの典型的な動作であり、当技術分野で
周知である。After exiting the reset state, these counters are stored in CL in standard binary counter format.
The output is incremented at the speed of OCK612. Thus, the least significant bit (or least significant bit LSB) is toggled at half the rate of the CLK clock input. Output bit Q
A is the least significant bit, QB is the next digit bit, and so on, bit QH is the most significant bit. Each higher bit is toggled at half the rate of the next lower bit. This operation is typical of a standard digital binary counter and is well known in the art.
【0061】TIMEOUT626は、このカウンタ・
アレイの28番目出力ビットに接続されるので、227−
1個の入力クロックの後に活動状態になる。25メガヘ
ルツのCLOCK612を用いると、TIMEOUT6
26の出力は、約5.37秒で活動状態になる。5.3
7秒を選択したことについては、図16に関してさらに
詳細に論じる。カウント動作中のどの時点でも、CAN
CEL TIMEOUT608入力が論理ハイ・レベル
になると、カウント動作が延期される。この信号の使用
についても、図16に関して論じる。タイマ(カウン
タ)論理回路616には、たとえば、4つのTexas Inst
rumentsのSN74ALS867カウンタと1つのTexas
InstrumentsのSN74ALS02 4×2入力NOR
ゲートなどの標準TTL部品が含まれる。これらの部品
は市販されているが、当技術分野で周知の通り、離散回
路であれVLSI構成要素であれ、他の論理実施態様か
ら等価論理回路を作成することもできる。本明細書で示
したカウンタは、同期式のものであるが、この性質もク
リティカルではない。たとえば、リップル・カウンタや
他のタイミング・デバイスでも、同様のTIMEOUT
626出力が生成できる。また、タイマ(カウンタ)論
理回路616によって生成されるTIMEOUT626
信号の特定のカウント持続時間または信号持続時間を、
応用例に応じて変更して、他のカウンタ出力またはカウ
ンタ出力の組合せを選択して所望の結果を得ることもで
きる。TIMEOUT 626 uses this counter
Since it is connected to the 28th output bit of the array, 2 27 −
Goes active after one input clock. With 25 MHz CLOCK 612, TIMEOUT6
The output of 26 goes active in about 5.37 seconds. 5.3
The selection of 7 seconds is discussed in further detail with respect to FIG. At any point during the count operation, CAN
When the CEL TIMEOUT 608 input goes to a logic high level, the counting operation is postponed. The use of this signal is also discussed with respect to FIG. The timer (counter) logic circuit 616 includes, for example, four Texas Inst
ruments SN74ALS867 counter and one Texas
Instruments SN74ALS02 4x2 input NOR
Standard TTL components such as gates are included. Although these components are commercially available, equivalent logic circuits can be created from other logic implementations, whether discrete circuits or VLSI components, as is well known in the art. The counters shown here are synchronous, but this property is not critical either. For example, a ripple counter or other timing device may have a similar TIMEOUT
626 outputs can be generated. TIMEOUT 626 generated by the timer (counter) logic circuit 616
A specific count duration or signal duration of the signal,
Depending on the application, other counter outputs or combinations of counter outputs can be selected to achieve the desired results.
【0062】ここで図14を参照すると、トグル・ラッ
チ618の論理デバイスの概略ブロック図が示されてい
る。トグル・ラッチ618の論理デバイスには、標準J
− ̄Kフリップ・フロップ646とインバータ648が
含まれる。本明細書では、J− ̄Kフリップ・フロップ
は、トグル・モード動作用に配線される。J入力は、論
理1入力を確立するためにVccノードに接続され、 ̄
K入力は、論理0状態を確立するためにGNDに接続さ
れる。J− ̄Kフリップ・フロップ646は、POWE
R ON RESET610のNOTである信号によっ
てクリアされる。したがって、Q出力(BSP520信
号)は、各電源オン・リセット・シーケンスの後に、0
に初期設定される。トグル動作は、RESTART62
2入力上でローからハイへ(論理0から論理1へ)の遷
移が発生する時に、必ず発生する。この遷移によって、
Q出力(BSP520)が論理的に反対の状態にトグル
される。トグル・ラッチ618の論理デバイスには、た
とえば、J− ̄Kフリップ・フロップ用のTexas Instru
mentsのSN74ALS109Aとインバータ648用
のTexas InstrumentsのSN74ALS04などの標準
TTL部品が含まれる。これらの部品は市販されてい
る。また、離散回路であれ、VLSI構成要素であれ、
他の論理実施態様から等価論理回路を作成することもで
きることは明白である。Referring now to FIG. 14, a schematic block diagram of the logic device of toggle latch 618 is shown. The logic device for toggle latch 618 includes standard J
- ̄K flip-flop 646 and inverter 648 are included. As used herein, the J- ̄K flip-flop is wired for toggle mode operation. The J input is connected to the Vcc node to establish a logic one input,
The K input is connected to GND to establish a logic 0 state. J- @ K flip flop 646 is POWER
It is cleared by a signal that is NOT of R ON RESET610. Therefore, the Q output (BSP 520 signal) is set to 0 after each power-on reset sequence.
Initially set to The toggle operation is performed by the RESTART 62
Occurs whenever a low-to-high (logic 0 to logic 1) transition occurs on two inputs. With this transition,
The Q output (BSP 520) is toggled to a logically opposite state. The logic device of the toggle latch 618 includes, for example, the Texas Instrument for the J- @ K flip-flop.
Includes standard TTL components such as Mentor's SN74ALS109A and Texas Instruments' SN74ALS04 for inverter 648. These parts are commercially available. Also, whether it is a discrete circuit or a VLSI component,
Obviously, equivalent logic circuits can be created from other logic implementations.
【0063】ここで図15を参照すると、リセット・パ
ルス生成回路620の概略ブロック図が示されている。
リセット・パルス生成回路620の論理回路は、RES
TART622入力のハイ状態による信号を受け取った
時、固定幅の出力パルス(PROCESSOR RES
ET604)を生成する。リセット・パルス生成回路6
20は、たとえば、当技術分野で周知の標準カウンタを
含んでいる。リセット・パルス生成回路620はまた、
たとえば、8ビット・リセット可能同期式アップ・カウ
ンタ650を含んでいる。カウンタ650は、前述のよ
うに、CLOCK612信号でクロックされる。RES
TART622入力は、ローの時、このカウンタを0カ
ウントにクリアする。それによって、QF出力であるE
ND RESET605もロー状態にクリアされること
に留意されたい。RESTART622がハイの時、こ
のカウンタは、カウント・アップをイネーブルされる。
RESTART622入力がハイになった時、このカウ
ンタはカウントを開始する。24クロック(16クロッ
ク)後に、QE出力(PROCESSOR RESET
604)がハイになる。この出力は、さらに16クロッ
クの間このハイ状態のままになる。合計32クロックの
後に、QE出力がローになり、QF出力であるEND
RESET605がハイになる。END RESET6
05は、図11のタイマ(カウンタ)論理回路616に
プロセッサ・リセット活動の完了を知らせることを想起
されたい。リセット・パルス生成回路620の論理回路
には、たとえば、カウンタ用のTexas InstrumentsのS
N74ALS867などの標準TTL部品が含まれる。
この部品は市販されている。また、当技術分野で周知の
ように、離散回路であれVLSI構成要素であれ、他の
論理実施態様を使用して等価論理回路を実現できること
は明白である。Referring now to FIG. 15, a schematic block diagram of the reset pulse generation circuit 620 is shown.
The logic circuit of the reset pulse generation circuit 620 is RES
When a signal due to the high state of the TART 622 input is received, a fixed width output pulse (PROCESSOR RES) is output.
ET604) is generated. Reset pulse generation circuit 6
20 includes, for example, a standard counter known in the art. The reset pulse generation circuit 620 also
For example, it includes an 8-bit resettable synchronous up counter 650. Counter 650 is clocked by the CLOCK 612 signal, as described above. RES
The TART 622 input, when low, clears this counter to zero counts. Thereby, the QF output E
Note that ND RESET 605 is also cleared to a low state. When RESTART 622 is high, this counter is enabled to count up.
This counter starts counting when the RESTART 622 input goes high. 2 4 after the clock (16 clocks), QE output (PROCESSOR RESET
604) goes high. This output remains at this high state for an additional 16 clocks. After a total of 32 clocks, the QE output goes low and the QF output, END,
RESET 605 goes high. END RESET6
Recall that 05 notifies the timer (counter) logic 616 of FIG. 11 of the completion of the processor reset activity. The logic circuit of the reset pulse generation circuit 620 includes, for example, Texas Instruments S for a counter.
Standard TTL components such as N74ALS867 are included.
This part is commercially available. It is also apparent that other logic implementations, whether discrete circuits or VLSI components, can be used to implement equivalent logic circuits, as is well known in the art.
【0064】(動作の説明)次に、ファームウェア・サ
ブシステム242の動作を説明する4つの事例について
論じる。最初の事例1は、それぞれ同一のプログラム・
コード・イメージ(すなわち同一のファームウェア)を
含む2つのファームウェア・バンクである、メモリ・バ
ンク0 502とメモリ・バンク1 504を含むパー
ソナル・コンピュータ・システム100である。これ
は、パーソナル・コンピュータ・システム100の製造
時の典型的な事例である。ここで図16の流れ図を参照
して、パーソナル・コンピュータ・システム100の初
期設定について説明するが、ファームウェア・サブシス
テム242の動作に関連する活動だけを論ずる。事例1
は、正しく構成されたシステムで行われる通常の活動を
記述している。まず、パーソナル・コンピュータ・シス
テム100の電源が投入され、プロセッサ202が、メ
モリ・バンク0 502内の所定のアドレスからプログ
ラム・コードを取り出そうとする試みを開始する。ファ
ームウェアがこの所定のアドレス空間にマッピングされ
ており、メモリ・バンク0 502は電源オン時の省略
時活動バンクであるので、プロセッサ202は、メモリ
・バンク0 502からプログラム・コードを取得す
る。事例1は正しく構成されたシステムを記述している
ので、プロセッサ202は、メモリ・バンク0 502
からのPOSTプログラム・コードの取得に成功する。
POSTは、ステップ700で、プロセッサ202の状
況の検査など、いくつかの予備的初期設定を実行する。
この早期試験の種類と範囲は、設計上の選択の問題であ
る。(Explanation of Operation) Next, four cases explaining the operation of the firmware subsystem 242 will be discussed. The first case 1 is the same program
The personal computer system 100 includes memory bank 0 502 and memory bank 1 504, two firmware banks containing code images (ie, identical firmware). This is a typical case when the personal computer system 100 is manufactured. Referring now to the flowchart of FIG. 16, the initialization of the personal computer system 100 will be described, but only those activities related to the operation of the firmware subsystem 242 will be discussed. Case 1
Describes the normal activities that take place in a properly configured system. First, the personal computer system 100 is powered on and the processor 202 begins an attempt to retrieve program code from a predetermined address in memory bank 0 502. The processor 202 obtains the program code from memory bank 0 502 because the firmware is mapped into this predetermined address space and memory bank 0 502 is the default active bank at power-on. Since Case 1 describes a correctly configured system, processor 202 may be able to access memory bank 0 502
Succeeded in obtaining the POST program code from.
POST performs some preliminary initialization at step 700, such as checking the status of processor 202.
The type and scope of this early test is a matter of design choice.
【0065】ステップ700の早期初期設定の後に、P
OSTは、ステップ702でBSPビットを検査して、
それがロック状態であるかどうかを確認する。BSPが
ロックされているということは、そのシステムが既に電
源投入されており、単にPOSTに再度入りつつあるこ
とを示す。BSPがロックされている場合、バンク選択
は既に完了しており、POSTはステップ730に進
む。しかし、事例1は正常な電源オン・シーケンスを記
述しているので、ステップ702のBSPのロック検査
では、BSPがロックされていないことが示されるはず
である。次に、POSTは、メモリ・バンク0 502
を有効かどうか検査する。ステップ704の、メモリ・
バンク0 502に関する妥当性検査は、検査合計手順
(所定の値をもたらさなければならない)とすることが
できる。たとえば、ファームウェア・イメージ内の各バ
イトの8ビット移動和(running som)を計算し、0と比
較することができ、それが0であると判った場合には、
そのファームウェア・イメージが有効であるとみなされ
る。他の形の妥当性検査としては、巡回冗長検査(CR
C)がある。何らかの妥当性検査を使用する場合、その
種類は、周知の設計上の選択の問題である。After the early initialization in step 700, P
The OST checks the BSP bit in step 702,
Check if it is locked. A locked BSP indicates that the system is already powered on and is simply re-entering POST. If the BSP is locked, bank selection has already been completed and POST proceeds to step 730. However, since Case 1 describes a normal power-on sequence, the BSP lock check in step 702 should show that the BSP is not locked. Next, POST reloads memory bank 0 502
Check for validity. In step 704, the memory
The validation for bank 0 502 may be a checksum procedure (which must yield a predetermined value). For example, an 8-bit running sum of each byte in the firmware image can be calculated and compared to 0, and if it is found to be 0,
The firmware image is considered valid. Another form of validation is a cyclic redundancy check (CR
C). If any validation is used, the type is a well-known design choice.
【0066】メモリ・バンク0 502のファームウェ
アが無効であると判った場合、ステップ718で、PO
STは停止し、自動セット・リセット制御デバイス60
2の論理回路がメモリ・バンク1 504にトグルし、
プロセッサ202を再始動するのを待つ。メモリ・バン
ク0 502が有効であると判った場合、POSTは、
ステップ706でタイムアウトを取り消す。POST
は、CANCEL TIMEOUT608をセットする
ことによってタイムアウトを取り消すが、これは、直接
プログラム制御下にある入出力ポートを介して行われ
る。前述の5.37秒のタイムアウト値は、POST
が、リセットから実行を開始し、ファームウェア・バン
クの妥当性を検査し、必要な場合にはタイムアウトを取
り消すのに適当な時間として選択したものである。次
に、POSTは、ステップ708で、NVRAMの内容
を有効かどうか検査する。この場合も、検査合計または
他の手順を使用して、NVRAM内に記憶されたデータ
が有効であるかどうかを確認することができる。ステッ
プ708で、NVRAMの内容が有効でないと判った場
合、構成エラーが存在し(ステップ720)、システム
は、ステップ716に進み、そこでBSP信号がロック
される。BSP信号は、LOCK BSP606ビット
をセットすることによってロックされ、これは、直接プ
ログラム制御下にある入出力ポートを介して行われる。If the firmware in memory bank 0 502 is found to be invalid,
ST stops and the automatic set / reset control device 60
Two logic circuits toggle to memory bank 1 504,
Wait for the processor 202 to restart. If memory bank 0 502 is found to be valid, POST
In step 706, the timeout is canceled. POST
Cancels the timeout by setting CANCEL TIMEOUT 608, but this is done via an I / O port that is directly under program control. The timeout value of 5.37 seconds is POST
Has been selected to start execution from reset, check the validity of the firmware bank, and if necessary, cancel the timeout. Next, POST checks in step 708 whether the contents of NVRAM are valid. Again, a checksum or other procedure can be used to verify that the data stored in NVRAM is valid. If, at step 708, the contents of the NVRAM are found to be invalid, a configuration error exists (step 720) and the system proceeds to step 716, where the BSP signal is locked. The BSP signal is locked by setting the LOCK BSP 606 bit, which is done via an I / O port that is directly under program control.
【0067】ステップ708でNVRAMの内容が有効
であると判った場合、NVRAMに記憶される更新位相
標識(以下で詳細に説明する)が、0の値であるかどう
かを検査する。ステップ710で更新位相標識が0であ
ると判った場合、POSTは、システムRAMの小セク
ション(64K)を初期設定し、メモリ・バンク050
2のコードのステップ712、714、728に相当す
る部分をシステムRAMのその小セクションにコピーす
る。メモリ・バンク0 502内のPOSTは、次に、
システムRAM内のこの小セクションのPOSTに制御
を移す。次に、図16に示したシステムRAM中のPO
STコードが、ステップ712で、メモリ・バンク1
504を有効かどうか検査する。メモリ・バンク1 5
04が有効でない場合、ファームウェア・バンク・エラ
ーが存在し(ステップ728)、POSTは、ステップ
716に進んでBSP信号をロックする。ステップ71
2でメモリ・バンク1 504が有効な場合、ステップ
714で、メモリ・バンク0502とメモリ・バンク1
504のバージョン・コードを比較する。このバージ
ョン比較は、たとえば、バージョン番号、シーケンス番
号またはデータ値の比較とすることができる。バージョ
ン追跡手段の性質は、周知の設計上の選択の問題であ
る。便利なバージョン・コードの1つは、すべてのIB
Mパーソナル・コンピュータで採用されるファームウェ
ア・イメージの末尾付近の固定位置に含まれる日付であ
る。If the contents of the NVRAM are found to be valid at step 708, a check is made as to whether the updated phase indicator (described in detail below) stored in the NVRAM is a value of zero. If the update phase indicator is found to be 0 in step 710, POST initializes a small section (64K) of system RAM and returns to memory bank 050.
The portion of code 2 corresponding to steps 712, 714, 728 is copied into that small section of system RAM. POST in memory bank 0 502 then:
Control transfers to POST for this small section in system RAM. Next, the PO in the system RAM shown in FIG.
The ST code determines in step 712 that memory bank 1
Check 504 for validity. Memory bank 15
If 04 is not valid, there is a firmware bank error (step 728) and POST proceeds to step 716 to lock the BSP signal. Step 71
If memory bank 1 504 is valid at 2, then at step 714, memory bank 0502 and memory bank 1
Compare 504 version code. This version comparison can be, for example, a version number, sequence number, or data value comparison. The nature of the version tracking means is a well-known design choice. One useful version code is all IB
This is a date included in a fixed position near the end of the firmware image adopted in the M personal computer.
【0068】メモリ・バンク1 504のファームウェ
アが、メモリ・バンク0 502のファームウェアより
新しいと判った場合、これもファームウェア・バンク・
エラー(ステップ728)である。これがエラーになる
のは、更新位相標識(Update-Phase indicator)が、メモ
リ・バンク1 504のファームウェアがメモリ・バン
ク0 502のファームウェアより新しくなることを許
容する状態ではなかったからである。ステップ714で
メモリ・バンク1 504がメモリ・バンク0502の
ファームウェアより新しくないと判った場合、ステップ
716で、BSP信号がロックされ、ステップ730
で、POSTがシステム初期設定に進む。ステップ71
6でBSP信号がロックされると、残りのコンピュータ
・システム動作の間、BSP信号が変更されなくなる。
BSP信号を再び変更できるようになるのは、システム
の電源を遮断した後に電源を投入した時である。If the firmware in memory bank 1 504 is found to be newer than the firmware in memory bank 0 502, this is also the firmware bank
Error (step 728). This is an error because the Update-Phase indicator was not in a state that allowed the firmware in memory bank 1 504 to be newer than the firmware in memory bank 0 502. If it is determined in step 714 that memory bank 1 504 is not newer than the firmware in memory bank 0502, in step 716 the BSP signal is locked and step 730
The POST proceeds to system initialization. Step 71
Once the BSP signal is locked at 6, the BSP signal will not be changed during the rest of the computer system operation.
The BSP signal can be changed again when the system is turned off and then turned on.
【0069】事例2は、メモリ・バンク0 502のフ
ァームウェアが破壊され、あるいはPOSTによって無
効と判定された場合である。停電によって更新動作が中
断された場合などのように、メモリ・バンク0 502
のファームウェアがプログラム・コードを含んでいない
場合には、ステップ706のタイムアウト取消しが行わ
れない。その結果、自動セット・リセット制御デバイス
602が、自動的にメモリ・バンク1 504を選択
し、自動的にプロセッサ202をリセットする。メモリ
・バンク0 502が一部のPOSTコードを含んでは
いるが、全体としては有効でない場合には、前述のステ
ップ700、702、704および718が実行され
る。Case 2 is a case where the firmware of the memory bank 0 502 is destroyed or determined to be invalid by POST. Memory bank 0 502, such as when the update operation was interrupted by a power outage
If the firmware does not include the program code, the timeout cancellation of step 706 is not performed. As a result, the automatic set / reset control device 602 automatically selects memory bank 1 504 and automatically resets the processor 202. If memory bank 0 502 contains some POST code but is not totally valid, steps 700, 702, 704 and 718 described above are performed.
【0070】事例3は、メモリ・バンク1 504のフ
ァームウェアが破壊され、あるいはPOSTによって無
効と判定された場合である。この事例は、ステップ70
0、702、704、706、708、710、71
2、728、716、730によって既に説明した。Case 3 is a case where the firmware of the memory bank 1 504 is destroyed or determined to be invalid by POST. In this case, step 70
0, 702, 704, 706, 708, 710, 71
2, 728, 716, 730.
【0071】事例4は更新位相標識に関係するので、事
例4に進む前に更新動作の概略を説明する。更新は、2
つの基本位相で発生する。位相Aは、メモリ・バンク1
504のファームウェアが更新される位相であり、位
相Bは、メモリ・バンク0502のファームウェアが更
新される位相である。NVRAMに記憶される更新位相
標識は、更新手順の進行を追跡するのに使用され、PO
STと更新プログラムの両方によって使用される。更新
位相標識が0に等しい時は、そのシステムは、現在更新
動作中ではない。更新位相標識が1に等しい時は、更新
プログラムが、新規ファームウェアによるメモリ・バン
ク1 504のプログラミングを完了済みである。更新
位相標識が2に等しい時は、POSTがメモリ・バンク
1 504をロックしており、メモリ・バンク0 50
2は更新を受け入れる準備ができている。Since Case 4 relates to the update phase indicator, the outline of the update operation will be described before proceeding to Case 4. Update is 2
Occurs in two basic phases. Phase A is for memory bank 1
The phase at which the firmware of 504 is updated, and the phase B is the phase at which the firmware of the memory bank 0502 is updated. The update phase indicator stored in NVRAM is used to track the progress of the update procedure and the PO
Used by both ST and updates. When the update phase indicator equals 0, the system is not currently performing an update operation. When the update phase indicator equals 1, the update program has completed programming memory bank 1 504 with the new firmware. When the update phase indicator equals 2, POST has locked memory bank 1 504 and memory bank 0 50
2 is ready to accept updates.
【0072】図17を参照して、更新手順の動作につい
て説明する。図17を理解すると、図16と残りの事例
4の説明の助けになる。走行し始めると、更新プログラ
ムは、ステップ800で、NVRAMの内容を有効かど
うか検査する。NVRAMの内容が有効でない場合、ユ
ーザは、ステップ812でNVRAMを修正するよう指
示され、その後、更新手順が続行できるようになる。N
VRAMの「修正(fix)」は、全PS/2システムのレ
ファレンス・ディスケット上で配布される周知のセット
アップ・プログラムを走行させることによって達成でき
る。セットアップ・プログラムは、たとえば、"IBM Per
sonal System/2 Hardware Interface Technical Refere
nce Architectures"、第1〜54ページで説明されてい
る。NVRAMの内容が無効な場合、更新プログラム
は、ステップ822で終了する。ステップ800でNV
RAMの内容が有効であると判った時は、ステップ80
2で、更新位相標識が0の値であるかどうかを検査す
る。更新位相標識が0の場合、更新プログラムは、ステ
ップ804に進むことができ、ステップ804で代替バ
ンクを再プログラミングする。その後、更新プログラム
は、ステップ806で、更新位相標識を1にセットし、
位相A(上述)が完了したことを示す。その後、更新プ
ログラムは、ステップ808でユーザに、パーソナル・
コンピュータ・システム100の電源をオフにした後に
オンにするよう指示し、ステップ810で停止して、ユ
ーザがシステムの電源をオフにするのを待つ。The operation of the update procedure will be described with reference to FIG. Understanding FIG. 17 will help explain FIG. 16 and the remaining Case 4. When running, the update program checks at step 800 whether the contents of the NVRAM are valid. If the contents of the NVRAM are not valid, the user is instructed to modify the NVRAM at step 812, after which the update procedure can continue. N
The VRAM "fix" can be achieved by running a well-known setup program distributed on the reference diskette of all PS / 2 systems. The setup program is, for example, "IBM Per
sonal System / 2 Hardware Interface Technical Refere
nce Architectures ", pages 1-54. If the contents of the NVRAM are invalid, the update program ends at step 822. At step 800, the NV
If the contents of the RAM are found to be valid, step 80
At 2, check whether the update phase indicator has a value of 0. If the update phase indicator is 0, the update program can proceed to step 804, where the alternative bank is reprogrammed. Thereafter, the update program sets the update phase indicator to 1 in step 806,
Indicates that phase A (described above) has been completed. Thereafter, the update program provides the user with a personal
Instruct the computer system 100 to power off and then on, stop at step 810, and wait for the user to power off the system.
【0073】図16に戻って、次に事例4について説明
する。更新位相標識が1に等しい場合、前に述べたよう
にステップ700、702、704、706、708が
実行される。ステップ710で、更新位相標識が0以外
であることが判り、制御はステップ722に移る。ステ
ップ722では、更新位相標識が1の値であるかどうか
を検査する。この場合は更新位相標識は1であるので、
ステップ724で、更新位相標識が2の値にセットされ
る。その後、POSTは、ステップ726で、タイムア
ウト装置を始動させ、停止して、BSP520ビットの
トグルによってコンピュータ・システムが再始動される
のを待つ。システムがリセットされ、POSTが再始動
した後、ステップ700、702、704、706、7
08、710が再度実行される。ステップ722では、
更新位相標識は1に等しくなく、その結果、制御がステ
ップ716に移り、BSPがロックされ、したがって、
メモリ・バンク1 504が書き込み保護として確立さ
れ、メモリ・バンク0 502が代替バンクとして確立
される。Returning to FIG. 16, case 4 will now be described. If the update phase indicator is equal to one, steps 700, 702, 704, 706, 708 are performed as previously described. At step 710, it is determined that the updated phase indicator is other than zero, and control proceeds to step 722. Step 722 checks whether the updated phase indicator has a value of one. In this case, the update phase indicator is 1, so
At step 724, the update phase indicator is set to a value of two. The POST then starts and stops the timeout device at step 726 and waits for the computer system to be restarted by toggling the BSP 520 bit. After the system is reset and POST is restarted, steps 700, 702, 704, 706, 7
08 and 710 are executed again. In step 722,
The update phase indicator is not equal to one, so that control transfers to step 716 and the BSP is locked, thus:
Memory bank 1 504 is established as write protection and memory bank 0 502 is established as a replacement bank.
【0074】再び図17を参照すると、更新プログラム
がもう一度実行される。これは、更新位相標識が、さら
に更新処理を要求しているからである。POSTは、更
新手順が進行中であることを確認した時、その更新動作
を完了させるためにシステム参照ディスケットによるブ
ートを必要とする。ステップ800で、NVRAMの内
容が有効であることが判る。ステップ802で、更新位
相標識が検査されるが、更新位相標識は2であるので、
0でないと判定される。次に、ステップ816で、更新
位相標識が2の値かどうか検査され、2であると判る。
更新位相標識が2でない場合は、ステップ814に移っ
て、そのステップ814で、更新位相標識を0にリセッ
トし、更新手順を再開する。ステップ816で更新位相
標識が2に等しい場合は、ステップ818に移り、その
ステップ818で、現在はメモリ・バンク0 502で
ある代替バンクが、ファームウェア・イメージを用いて
プログラミングされる。次に、ステップ820で、更新
位相標識を0にセットして、更新位相が完了したことを
示す。その後、更新プログラムは、ステップ822で終
了する。この時点でコンピュータ・システムを再始動す
る必要はない。というのは、メモリ・バンク1 504
のファームウェアが、メモリ・バンク0 502のファ
ームウェアと同一になっているからである。メモリ・バ
ンク0 502は、次の電源オン・サイクルの後に、B
SP520信号によって選択されるバンクになる。最後
に、図16と図17に示したステップのすべてを適当に
コーディングすることは、本明細書に関する当技術分野
の技術の範囲内に十分に含まれる。Referring again to FIG. 17, the update program is executed again. This is because the update phase indicator requires further update processing. When POST determines that an update procedure is in progress, it requires a boot with a system reference diskette to complete the update operation. At step 800, the contents of the NVRAM are found to be valid. At step 802, the updated phase indicator is checked, but since the updated phase indicator is two,
It is determined that it is not 0. Next, at step 816, the updated phase indicator is checked for a value of two and found to be two.
If the update phase indicator is not 2, the process proceeds to step 814, where the update phase indicator is reset to 0 and the update procedure is restarted. If the update phase indicator equals 2 in step 816, the process moves to step 818, where an alternate bank, currently memory bank 0 502, is programmed with the firmware image. Next, at step 820, the update phase indicator is set to 0 to indicate that the update phase is complete. Thereafter, the update program ends at step 822. There is no need to restart the computer system at this point. Because memory bank 1 504
Is the same as the firmware of the memory bank 0 502. Memory bank 0 502 stores B after the next power-on cycle.
The bank is selected by the SP520 signal. Finally, the proper coding of all of the steps shown in FIGS. 16 and 17 is well within the skill of the art to this specification.
【0075】本発明のファームウェア・サブシステム2
42は、コンピュータ・システムの開発期間中にも有益
である。消去可能プログラマブル読取り専用メモリー
(EPROM)内のファームウェアを用いると、各ファ
ームウェア改訂をEPROMにプログラミングまたは
「焼きつける」ことが必要になる。EPROMを焼きつ
ける手順では、まず正しい型式のEPROMを特殊な消
去装置内に置き、次いで紫外線露光によって消去するこ
とが必要となる。EPROMの消去に要する時間は一定
しないが、10分以上かかることもある。その後、消去
済みのEPROMを、EPROMプログラマと称する別
の特殊な装置内に置かなければならない。その後、新し
いファームウェア・プログラム・コードを、このEPR
OMプログラマにロードしなければならないが、これ
は、しばしば時間がかかる操作になる。その後、EPR
OMプログラマに、ロード済みのファームウェア・コー
ドをEPROMデバイスに転写または焼きつけるよう指
示しなければならない。この動作には、さらに10分以
上かかる。その後、EPROMデバイスをEPROMプ
ログラマから取り外し、試験中のシステムに挿入しなけ
ればならない。新しいEPROMを挿入するには、現在
そのシステム内にある古いEPROMを取り外さなけれ
ばならない。これらのデバイスの取外しと挿入の処理
は、時としてハードウェアに損傷をもたらす。本発明の
ファームウェア・サブシステム242は、代替バンクの
再プログラミングの完了に通常は15分以上かからず、
システム開発環境で利用でき、旧式のEPROMの状況
に比べて著しい改良であることを理解されたい。Firmware Subsystem 2 of the Present Invention
42 is also useful during the development of the computer system. Using firmware in an erasable programmable read-only memory (EPROM) requires that each firmware revision be programmed or "burned" into the EPROM. The procedure for burning an EPROM involves first placing the correct type of EPROM in a special erasing device and then erasing by UV exposure. The time required for erasing the EPROM is not fixed, but may take 10 minutes or more. Thereafter, the erased EPROM must be placed in another special device called an EPROM programmer. Then, the new firmware program code is transferred to this EPR
It must be loaded into the OM programmer, which is often a time consuming operation. Then, EPR
The OM programmer must be instructed to transfer or burn the loaded firmware code to the EPROM device. This operation takes an additional 10 minutes or more. Thereafter, the EPROM device must be removed from the EPROM programmer and inserted into the system under test. To insert a new EPROM, the old EPROM currently in the system must be removed. The process of removing and inserting these devices sometimes causes hardware damage. The firmware subsystem 242 of the present invention typically takes less than 15 minutes to complete the reprogramming of the alternate bank,
It should be understood that it is available in a system development environment and is a significant improvement over the state of the art EPROM.
【0076】以上で本発明を説明したが、本発明の趣
旨、範囲および教示から逸脱することなく、細部に様々
な変更を加えられることが、当業者には理解されよう。
たとえば、好ましい実施例では、Intelのプロセッ
サとIBM PS/2マイクロ・チャネル・バスを例示
の目的で使用したが、本発明は他のプロセッサまたは他
のバス形式で実施することもできる。同様に、本発明の
多くの要素は、ハードウェアまたはソフトウェアで実施
できることが、当業者には理解されよう。したがって、
本発明は、頭記の特許請求の範囲による指定に従っての
み限定されるものである。While the present invention has been described, it will be appreciated by those skilled in the art that various changes may be made in details without departing from the spirit, scope and teachings of the invention.
For example, while the preferred embodiment uses an Intel processor and an IBM PS / 2 Micro Channel bus for illustrative purposes, the invention may be implemented with other processors or other bus types. Similarly, those skilled in the art will recognize that many elements of the invention can be implemented in hardware or software. Therefore,
The invention is limited only as specified by the appended claims.
【図1】典型的なパーソナル・コンピュータ・システム
を示す図である。FIG. 1 illustrates a typical personal computer system.
【図2】典型的なローカル・エリア・ネットワークを示
す図である。FIG. 2 illustrates a typical local area network.
【図3】図1のコンピュータ・システム用の一体式プレ
ーナ基板の概略ブロック図である。3 is a schematic block diagram of an integrated planar substrate for the computer system of FIG.
【図4】図1のコンピュータ・システム用の代替プレー
ナ基板の概略ブロック図である。FIG. 4 is a schematic block diagram of an alternative planar board for the computer system of FIG.
【図5】図4の代替プレーナ基板と共に使用するプロセ
ッサ・カードの概略ブロック図である。FIG. 5 is a schematic block diagram of a processor card for use with the alternative planar board of FIG.
【図6】本発明によるファームウェア・サブシステムの
概略ブロック図である。FIG. 6 is a schematic block diagram of a firmware subsystem according to the present invention.
【図7】図6に示した本発明の好ましい実施例の概略ブ
ロック図である。FIG. 7 is a schematic block diagram of the preferred embodiment of the present invention shown in FIG.
【図8】書込み権限イネーブル(WAE)信号を生成す
るための生成回路のブロック図である。FIG. 8 is a block diagram of a generation circuit for generating a write right enable (WAE) signal.
【図9】図7の装置の読取りモードと書込みモードを、
主制御入力信号(BSP、ALTBANK、WAE)と
関連づけて示した表である。FIG. 9 shows the read mode and the write mode of the device of FIG.
It is a table shown in association with main control input signals (BSP, ALTBANK, WAE).
【図10】制御手段のイネーブル論理デバイスのBSP
入力で信号を生成し、システム・プロセッサのPROC
ESSOR RESET入力で信号を生成する装置の、
概略ブロック図である。FIG. 10 shows a BSP of an enable logic device of the control means.
Produces a signal at the input, the PROC of the system processor
A device for generating a signal at the ESSOR RESET input,
It is a schematic block diagram.
【図11】図10の信号生成機構のより詳細な概略ブロ
ック図である。FIG. 11 is a more detailed schematic block diagram of the signal generation mechanism of FIG.
【図12】図11のBSPロック制御論理回路のより詳
細な概略ブロック図である。FIG. 12 is a more detailed schematic block diagram of the BSP lock control logic of FIG. 11;
【図13】図11のタイマ(カウンタ)論理回路のより
詳細な概略ブロック図である。FIG. 13 is a more detailed schematic block diagram of the timer (counter) logic circuit of FIG.
【図14】図11のトグル・ラッチのより詳細な概略ブ
ロック図である。FIG. 14 is a more detailed schematic block diagram of the toggle latch of FIG. 11;
【図15】図11のリセット・パルス生成回路のより詳
細な概略ブロック図である。FIG. 15 is a more detailed schematic block diagram of the reset pulse generation circuit of FIG. 11;
【図16】ファームウェア・サブシステムに適用される
電源オン手順の流れ図である。FIG. 16 is a flowchart of a power-on procedure applied to the firmware subsystem.
【図17】システム・ファームウェア変更手順の流れ図
である。FIG. 17 is a flowchart of a system firmware change procedure.
【図18】図7のメモリ・デバイスに記憶される典型的
なファームウェアのメモリ・マップである。FIG. 18 is a memory map of exemplary firmware stored in the memory device of FIG.
【図19】Intel28F010フラッシュ・メモリ
の消去の流れ図である。FIG. 19 is a flow chart of erasing the Intel 28F010 flash memory.
【図20】Intel28F010フラッシュ・メモリ
の消去の流れ図である。FIG. 20 is a flowchart of erasing the Intel 28F010 flash memory.
【図21】Intel28F010フラッシュ・メモリ
のプログラミングの流れ図である。FIG. 21 is a flowchart of programming of Intel 28F010 flash memory.
【図22】Intel28F010フラッシュ・メモリ
のプログラミングの流れ図である。FIG. 22 is a flowchart of the programming of the Intel 28F010 flash memory.
【図23】Intel28F010フラッシュ・メモリ
のブロック図である。FIG. 23 is a block diagram of an Intel 28F010 flash memory.
【図24】Intel28F010フラッシュ・メモリ
の読取動作の信号波形を示す図である。FIG. 24 is a diagram showing signal waveforms of a read operation of the Intel 28F010 flash memory.
【図25】Intel28F010フラッシュ・メモリ
の消去動作の信号波形を示す図である。FIG. 25 is a diagram showing signal waveforms of an erasing operation of the Intel 28F010 flash memory.
【図26】Intel28F010フラッシュ・メモリ
のプログラミング動作の信号波形を示す図である。FIG. 26 is a diagram showing signal waveforms of a programming operation of the Intel 28F010 flash memory.
【図27】J− ̄Kフリップ・フロップ・デバイス、特
に、Texas InstrumentsのSN74ALS109Aの真
理値表である。FIG. 27 is a truth table for a J-ΔK flip-flop device, specifically, Texas Instruments SN74ALS109A.
242 ファームウェア・サブシステム 248 不揮発性RAM(NVRAM) 500 イネーブル論理デバイス 502 メモリ・バンク0 504 メモリ・バンク1 506 スイッチ 507 直流−直流コンバータ 600 BSP信号生成機構 602 自動セット・リセット制御デバイス 614 BSPロック制御論理回路 616 タイマ(カウンタ)論理回路 618 トグル・ラッチ 620 リセット・パルス生成回路 242 Firmware subsystem 248 Non-volatile RAM (NVRAM) 500 Enable logic device 502 Memory bank 0 504 Memory bank 1 506 Switch 507 DC-DC converter 600 BSP signal generation mechanism 602 Automatic set / reset control device 614 BSP lock control logic Circuit 616 Timer (counter) logic circuit 618 Toggle latch 620 Reset pulse generation circuit
フロントページの続き (72)発明者 リチャード・ベアルコフスキ アメリカ合衆国33444、フロリダ州デル リー・ビーチ、ハミングバード・ドライ ブ 1401 (72)発明者 ラルフ・マリ・ビガン アメリカ合衆国33486、フロリダ州ボ カ・ラトン、サウス・ウエスト19番スト リート 1380Continued on the front page (72) Inventor Richard Bearkovski United States 33444, Hummingbird Drive, Delhi Beach, Florida 1401 (72) Inventor Ralph Mari Vigan United States 33486, Boca Raton, Florida, South West 19th Street 1380
Claims (2)
は異なるバージョンのファームウェアを2つのメモリ・
バンクに冗長的に記憶するファームウェア記憶方法であ
って、 (a)前記2つのメモリ・バンクの一方のメモリ・バン
クが選択されている間は、他方のメモリ・バンクを書込
み禁止にするステップと、 (b)前記2つのメモリ・バンクの一方を選択する第1
の選択ステップと、 (c)前記第1の選択ステップにおいて選択されなかっ
たメモリ・バンクに記憶されたファームウェアの有効性
をチェックするステップと、 (d)前記第1の選択ステップにおいて選択されたメモ
リ・バンクに記憶されたファームウェアのバージョン
を、前記第1の選択ステップにおいて選択されなかった
メモリ・バンクに記憶されたファームウェアのバージョ
ンと比較し、その比較結果を生成するステップと、 (e)前記比較結果に従い、前記2つのメモリ・バンク
に記憶されているファームウェアのどちらか一方を選択
する第2の選択ステップと、 (f)前記第2の選択ステップにおいて選択されたメモ
リ・バンクに記憶されたファームウェアを使用してコン
ピュータ・システムを起動し、所定の時間内に該コンピ
ュータ・システムが正常に動作可能状態にならない場合
に、前記第2の選択ステップにおいて選択されなかった
メモリ・バンクを選択し、その後プロセッサをリセット
するステップと、 を含むことを特徴とするコンピュータ・システムのファ
ームウェア記憶方法。1. A computer system, comprising:
Stores different versions of firmware in two memories
Firmware storage method for redundant storage in banks
(A) one of the two memory banks;
While the other memory bank is selected, write the other memory bank
(B) first selecting one of the two memory banks
(C) not selected in the first selection step
Validity of firmware stored in a failed memory bank
And (d) the memo selected in the first selection step.
Of the firmware stored in the rebankversion
Was not selected in the first selection step
Of the firmware stored in the memory bankVersion
NAnd generating the comparison result; and (e) according to the comparison result, the two memory banks
Select one of the firmware stored in
(F) the memo selected in the second selecting step
Using firmware stored in the rebank
Computer system and start the computer within a predetermined time.
The computer system does not operate properly
In the second selection step, it was not selected
Select memory bank, then reset processor
Performing the steps of:
Firmware storage method.
は異なるバージョンのファームウェアを2つのメモリ・
バンクに冗長的に記憶するファームウェア記憶装置であ
って、 (a)前記2つのメモリ・バンクの一方のメモリ・バン
クが選択されている間は、他方のメモリ・バンクを書込
み禁止にする手段と、 (b)前記2つのメモリ・バンクの一方を選択する第1
の選択手段と、 (c)前記第1の選択手段において選択されなかったメ
モリ・バンクに記憶されたファームウェアの有効性をチ
ェックする手段と、 (d)前記第1の選択手段において選択されたメモリ・
バンクに記憶されたファームウェアのバージョンを、前
記第1の選択手段において選択されなかったメモリ・バ
ンクに記憶されたファームウェアのバージョンと比較
し、その比較結果を生成する手段と、 (e)前記比較結果に従い、前記2つのメモリ・バンク
に記憶されているファームウェアのどちらか一方を選択
する第2の選択手段と、 (f)前記第2の選択手段において選択されたメモリ・
バンクに記憶されたファームウェアを使用してコンピュ
ータ・システムを起動し、所定の時間内に該コンピュー
タ・システムが正常に動作可能状態にならない場合に、
前記第2の選択手段において選択されなかったメモリ・
バンクを選択し、その後プロセッサをリセットする手段
と、 を含むことを特徴とするコンピュータ・システムのファ
ームウェア記憶装置。 2. A computer system, comprising :
Stores different versions of firmware in two memories
A firmware storage device that stores data redundantly in banks.
I, (a) one of the memory-Bains said two memory banks
While the other memory bank is selected, write the other memory bank
(B) a first means for selecting one of the two memory banks
And selecting means, main that is not selected in (c) said first selection means
Check the validity of the firmware stored in the memory bank.
Means for Ekku, memory selected in; (d) first selection means
Update the firmware version stored in the bank to
The memory bank not selected by the first selecting means.
Link with the firmware version stored in the link
Means for generating the comparison result; and (e) the two memory banks according to the comparison result.
Select one of the firmware stored in
A second selection means for, memory selected in (f) said second selection means
Computer using firmware stored in the bank.
Start the data system and within a predetermined time,
If the data system does not operate properly,
A memory not selected by the second selecting means;
Means for selecting a bank and then resetting the processor
And a computer system file characterized by including
Firmware storage.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US799486 | 1991-11-27 | ||
US07/799,486 US5826075A (en) | 1991-10-16 | 1991-11-27 | Automated programmable fireware store for a personal computer system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05233272A JPH05233272A (en) | 1993-09-10 |
JP3033642B2 true JP3033642B2 (en) | 2000-04-17 |
Family
ID=25176027
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4315223A Expired - Lifetime JP3033642B2 (en) | 1991-11-27 | 1992-11-25 | Firmware storage device and method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3033642B2 (en) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01162971A (en) * | 1987-09-09 | 1989-06-27 | Hitachi Ltd | Single-chip microcomputer |
-
1992
- 1992-11-25 JP JP4315223A patent/JP3033642B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH05233272A (en) | 1993-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5826075A (en) | Automated programmable fireware store for a personal computer system | |
US5878256A (en) | Method and apparatus for providing updated firmware in a data processing system | |
US5819087A (en) | Flash ROM sharing between processor and microcontroller during booting and handling warm-booting events | |
US6282640B1 (en) | Method for improved storage of computer system configuration information | |
US5987536A (en) | Computer system having flash memory bios which can be accessed while protected mode operating system is running | |
TWI386846B (en) | Method, system and flash memory component for initializing multiple processing components utilizing a shared nonvolatile memory | |
US5522076A (en) | Computer system having BIOS (basic input/output system)-ROM (Read Only Memory) writing function | |
US5815706A (en) | Computer system with plug-in override of system ROM | |
US7032158B2 (en) | System and method for recognizing and configuring devices embedded on memory modules | |
US6282643B1 (en) | Computer system having flash memory BIOS which can be accessed remotely while protected mode operating system is running | |
TWI303383B (en) | Method and apparatus for remote modification of system configuration | |
US20010052067A1 (en) | Method and apparatus for improved storage of computer system configuration information | |
TW445416B (en) | Upgrade card for a computer system and method of operating the same | |
US20040078679A1 (en) | Autonomous boot failure detection and recovery | |
KR20020097161A (en) | Computer system initialization via boot code stored in sequential access memory | |
KR20060015329A (en) | Booting from non-volatile memory | |
BR112014014815B1 (en) | COMPUTING DEVICE, METHOD AND STORAGE MEANS FOR PERFORMING FIRMWARE BACKUP COPY | |
US5465357A (en) | Method and apparatus for an automated dynamic load of an ABIOS device support layer in a computer system | |
JP2631085B2 (en) | System management mode address correction system and computer system for computer | |
US20190213012A1 (en) | Method for managing system boot code memory, memory device and electronic system using the same | |
US5495611A (en) | Method and apparatus for dynamic load of an ABIOS device support layer in a computer system | |
US6457137B1 (en) | Method for configuring clock ratios in a microprocessor | |
WO1995025307A1 (en) | Methods and apparatus for increased efficiency bus transactions | |
JP3033642B2 (en) | Firmware storage device and method | |
US5600802A (en) | Methods and apparatus for translating incompatible bus transactions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R370 | Written measure of declining of transfer procedure |
Free format text: JAPANESE INTERMEDIATE CODE: R370 |
|
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: 20090218 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090218 Year of fee payment: 9 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
S202 | Request for registration of non-exclusive licence |
Free format text: JAPANESE INTERMEDIATE CODE: R315201 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090218 Year of fee payment: 9 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090218 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100218 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100218 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100218 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100218 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110218 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110218 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110218 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120218 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120218 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120218 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120218 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120218 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130218 Year of fee payment: 13 |
|
EXPY | Cancellation because of completion of term |