EP0685093A4 - Systeme bios comprime. - Google Patents
Systeme bios comprime.Info
- Publication number
- EP0685093A4 EP0685093A4 EP94909611A EP94909611A EP0685093A4 EP 0685093 A4 EP0685093 A4 EP 0685093A4 EP 94909611 A EP94909611 A EP 94909611A EP 94909611 A EP94909611 A EP 94909611A EP 0685093 A4 EP0685093 A4 EP 0685093A4
- Authority
- EP
- European Patent Office
- Prior art keywords
- code
- ram
- code sequence
- cpu
- token
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
Definitions
- the present invention is in the area of general- purpose computer systems, and pertains more particularly to basic input/output (BIOS) systems for providing instruction sets for initializing such computer systems on startup, reset, or configuration.
- BIOS basic input/output
- a computer system to be of any use, must comprise all the computer hardware, such as the CPU, memory devices, communication buses, and so forth. There must also be instruction sets (programs/software) for the CPU to follow to accomplish tasks.
- the programmed information application software is typically stored on an internal or peripheral memory device to be accessed by the CPU as needed.
- BIOS basic input/output
- BIOS systems there are many good texts and references addressing BIOS systems and particularly the BIOS systems for IBM compatible machines.
- One such useful reference, covering BIOS in general, is The inn Rosch Hardware Bible published by Simon and Schuster, Inc. of New York city, ⁇ 1989 by inn L. Rosch.
- the section of BIOS characteristics from page 159 through 176 is pertinent and incorporated herein by reference.
- BIOS implementations in general purpose computers are implemented in single chip erasable programmable non-volatile (EPROM) memory devices resident on a "motherboard” in the computer.
- EPROM erasable programmable non-volatile
- suitable non-volatile memory devices including but not limited to EEPROM devices, "Flash Card” memories known in the art, masked ROM devices, CMOS RAM with a battery backup, and magnetic bubble memory.
- EPROMs As with other integrated circuits, EPROMs (and other non-volatile memories) have been developed over the years to be smaller, less expensive (per unit storage capacity), faster, and capacity has been improved.
- Newer EPROMS have capacities as high as 512 kilobytes, and there is no physical barrier to higher capacities. Larger units are, however, more expensive, and as capacities increase, higher pin count contributes to higher costs for connection and so forth.
- BIOS code without larger capacity EPROMs.
- a firmware device provides a BIOS routine for ⁇ general-purpose computer having a CPU microprocessor, comprising a programmable non-volatiJe memory device, and a BIOS routine stored on the programmable non-volatile memory device.
- the BIOS routine has a compressed portion, an uncompressed portion operable by the CPU to initialize random access memory in the general-purpose computer, and a decompression utility code operable by the CPU to load the compressed portion, decompress it, and copy the decompressed code to the random access memory.
- the programmable memory device is an EPROM device.
- compression is accomplished by a substituting a two line token for a longer sequence, where the longer sequence is a sequence often repeated in the BIOS.
- the value of the first line is a flag to the decompression routine that the next line is to be used to correlate to the longer sequence and copy that longer sequence in decompression.
- a general-purpose computer having a compressed BIOS according to the invention, and a method of compressing a BIOS routine for storage on an EPROM is provided as well, following the token scheme.
- the invention provides a need for storing a BIOS routine and loading and operating the routine, from an EPROM that has a lesser line capacity than the lines of code in the BIOS routine. This lowers the cost of BIOS for computers in general, and provides for more extensive BIOS routines without correspondingly larger EPROMs.
- Fig. 1 is a diagrammatical representation of a partially compressed BIOS according to an embodiment of the invention.
- Fig. 2 is a flow chart showing the operation of a computer from startup following a BIOS routine according to the present invention.
- Fig. 3 is a diagrammatical representation of a token decompression scheme according to an embodiment of the invention.
- BIOS In most BIOS systems for general purpose computers, the BIOS is stored in an EPROM device as described in the background section above. Upon power up the BIOS initializes the system, doing basic tasks like accessing and checking the operation of on-board random-access memory RAM, and typically, somewhere during the initialization, at least a part of the BIOS code is copied (the BIOS copies itself) into a portion of the on-board RAM.
- shadow RAM The portion of RAM reserved for BIOS code in a computer is generally termed "shadow" RAM.
- shadow RAM is also used in the industry for a particular hardware type of memory device wherein each volatile memory cell has a connected non-volatile (EPROM-type) cell. These are more properly called NVRAM devices, and are not what is meant in this description by shadow RAM. Shadow RAM for the purpose of this disclosure is simply that portion of RAM reserved for a copy of part or all of the BIOS code.
- BIOS In typical general-purpose computers, as soon as the system receives power, the BIOS tests and initializes system RAM, then copies (shadows) itself from the EPROM to the RAM. The BIOS continues to run in RAM.
- the purpose of shadowing the BIOS in RAM is to give the CPU microprocessor much faster access to the BIOS code than it would have by accessing the EPROM every time a BIOS code sequence is needed in continuing operations.
- the present invention comprises a means of compressing at least a significant portion of the BIOS code, storing all of the BIOS code, including the compressed portion, in EPROM, and releasing the compressed code on powerup, so all of the code is available for the computer to use. Also on powerup, the entire code is shadowed to RAM.
- Fig. 1 is a diagrammatical representation of a compressed BIOS 11 according to the present invention.
- Portion 13 is code to perform all operations to initialize and test the system RAM, and make it ready for use, and is a familiar portion of conventional BIOS routines. This portion in some applications needs to perform such functions as initializing and testing a memory controller and cache controllers and cache memory.
- Portion 15 is a decompression utility.
- Portion 17 represents the balance of the BIOS code in compressed form. It will be apparent to those with skill in the art that there are a number of compression schemes and related decompression routines that might be used.
- Fig. 2 is a flow chart showing the operation of a computer from startup following a BIOS routine according to the present invention. From powerup signal 19, which is typically derived from the act of closing the power on switch, operation goes to initialization operation 21, during which system RAM is initialized. In operation 21, the system runs portion 13 of Fig. 1.
- decompression utility 15 (Fig. 1) is accessed and run in operation 23.
- the decompression utility processes the balance of the BIOS code (compressed), translates it into operable code, and shadows it to system RAM.
- decompression utilities are available, the code pointing to the compressed portion of the BIOS, and that which causes the decompressed code to be shadowed to RAM is not a part of a conventional decompression routine. These commands are added to the BIOS of the invention.
- BIOS is shadowed operation continues (25) from the BIOS in system RAM. All remaining BIOS processes, including testing and initializing the remainder of the computer subsystems are accomplished in this operating portion.
- BIOS code may be compressed is based on the fact that BIOS routines, as is common in most other coded instruction sets, make use of frequently repeated code sequences.
- EPROMs used for BIOS are typically byte-wide devices, that is, the device can store "words" of 8 bits. A sixteen bit word requires, then, two lines of BIOS code.
- the token in this embodiment is a two byte code in which the first byte is a flag to the decompression utility that the following byte is a pointer.
- the pointer portion is an entry to a table which is a part of the decompression utility, and points to the specific, oft repeated, code sequence. In a simple such system, the table might have but one entry.
- a frequently repeated code sequence in a BIOS might be a "call keyboard” sequence, which for the purpose of this example, may be eight lines of code.
- the token could be two lines of code in which the first line is the binary representation of the hexadecimal "FF".
- hex FF is a flag indicating that the following byte is a pointer.
- the pointer can be any value representable by a digital byte, that is any one of 256 values.
- the requirement is simply that the decompression utility associate the pointer with the oft- repeated BIOS code sequence, and substitute that sequence in decompression and copying the BIOS code to RAM. In this scheme an oft-repeated code sequence need be stored only once in the BIOS portion that is the decompression utility.
- Fig. 3 is a diagrammatical representation of the token decompression scheme described above.
- the decompression utility is booted, and begins to read the compressed portion of the BIOS at Start 27.
- the decompression utility loads the first/next byte from the compressed portion of the EPROM BIOS. If this byte is hex FF (31), it is recognized as a token, and control goes to 33, where the system reads the byte following the token flag. This byte is always a pointer to a code sequence.
- the system associates the pointer byte with the code sequence from a preprogrammed table and loads the associated sequence.
- the system copies the n lines of code pointed by the pointer byte to the next n lines in shadow RAM.
- Control then goes to decision point 39 and determines if the last loaded byte from compressed BIOS was the last byte. If so, control jumps to a predetermined entry point in the decompressed shadow RAM, and the BIOS routine continues. If not, control goes back to 29 and the next line of compressed code is loaded.
- BIOS non-volatile memory
- a compressed BIOS may be stored, retrieved, and decompressed
- several of these have been listed above.
- the fact of compressing the routines in the BIOS, including a loadable decompression routine, extends the capacity of any such finite non-volatile memory devices and hence the size of a BIOS routine that may be stored thereon.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US1959293A | 1993-02-19 | 1993-02-19 | |
US19592 | 1993-02-19 | ||
PCT/US1994/001558 WO1994019768A1 (fr) | 1993-02-19 | 1994-02-10 | Systeme bios comprime |
Publications (2)
Publication Number | Publication Date |
---|---|
EP0685093A1 EP0685093A1 (fr) | 1995-12-06 |
EP0685093A4 true EP0685093A4 (fr) | 1997-04-02 |
Family
ID=21794018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP94909611A Withdrawn EP0685093A4 (fr) | 1993-02-19 | 1994-02-10 | Systeme bios comprime. |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP0685093A4 (fr) |
JP (1) | JPH08509826A (fr) |
WO (1) | WO1994019768A1 (fr) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6421776B1 (en) * | 1994-10-14 | 2002-07-16 | International Business Machines Corporation | Data processor having BIOS packing compression/decompression architecture |
US5819115A (en) * | 1996-06-28 | 1998-10-06 | Compaq Computer Corporation | Driver bundle including a compressed, self-extracting, executable driver for the host processor and an adapter driver for the processor of a network adapter card |
US5940871A (en) * | 1996-10-28 | 1999-08-17 | International Business Machines Corporation | Computer system and method for selectively decompressing operating system ROM image code using a page fault |
FI113708B (fi) * | 1997-09-29 | 2004-05-31 | Nokia Corp | Menetelmä ja laite suoritettavien ohjelmien tallentamiseksi ja käyttämiseksi |
FR2769453B1 (fr) | 1997-10-06 | 2000-01-07 | Telediffusion Fse | Procede d'evaluation de la degradation d'une image video introduite par un systeme de codage et/ou de stockage et/ou de transmission numerique |
KR100313996B1 (ko) * | 1998-01-08 | 2001-12-28 | 구자홍 | 컴퓨터시스템의바이오스데이터저장장치및방법 |
US6381218B1 (en) | 1998-09-11 | 2002-04-30 | Compaq Computer Corporation | Network controller system that uses directed heartbeat packets |
US6229538B1 (en) | 1998-09-11 | 2001-05-08 | Compaq Computer Corporation | Port-centric graphic representations of network controllers |
US6272113B1 (en) | 1998-09-11 | 2001-08-07 | Compaq Computer Corporation | Network controller system that uses multicast heartbeat packets |
JP4689006B2 (ja) * | 1999-06-18 | 2011-05-25 | フィーニックス テクノロジーズ リミテッド | 通常のos制御下でコンピュータのプリ−ブート及びポスト−ブート作動の際にアプリケーションを実行する方法と装置 |
DE10236571A1 (de) | 2002-08-08 | 2004-02-26 | Astrium Gmbh | Verfahren zum Betrieb einer Datenverarbeitungseinrichtung unter Verwendung komprimierter Daten |
GB2404748B (en) * | 2003-08-01 | 2006-10-04 | Symbian Ltd | Computing device and method |
CN101692349A (zh) * | 2009-10-23 | 2010-04-07 | 中兴通讯股份有限公司 | 一种设备及其进行数据存储和启动的方法 |
JP2012015812A (ja) * | 2010-06-30 | 2012-01-19 | Kyocera Mita Corp | 画像形成装置 |
FR3028642B1 (fr) * | 2014-11-13 | 2016-12-23 | Oberthur Technologies | Procede de personnalisation d'un microcircuit avec ecriture d'une partie compressee d'entite logicielle, et procede d'utilisation et microcircuit correspondants |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4988988A (en) * | 1988-10-20 | 1991-01-29 | Nittan Company Ltd. | Central monitoring and alarming system |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB8900368D0 (en) * | 1989-01-09 | 1989-03-08 | Crosfield Electronics Ltd | Bit map modification |
-
1994
- 1994-02-10 WO PCT/US1994/001558 patent/WO1994019768A1/fr not_active Application Discontinuation
- 1994-02-10 EP EP94909611A patent/EP0685093A4/fr not_active Withdrawn
- 1994-02-10 JP JP6519054A patent/JPH08509826A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4988988A (en) * | 1988-10-20 | 1991-01-29 | Nittan Company Ltd. | Central monitoring and alarming system |
Non-Patent Citations (3)
Title |
---|
"COMPRESSED BOOT IMAGE", RESEARCH DISCLOSURE, no. 333, 1 January 1992 (1992-01-01), pages 7, XP000281118 * |
"COMPRESSED IPL ROM", RESEARCH DISCLOSURE, no. 333, 1 January 1992 (1992-01-01), pages 6, XP000281117 * |
See also references of WO9419768A1 * |
Also Published As
Publication number | Publication date |
---|---|
EP0685093A1 (fr) | 1995-12-06 |
JPH08509826A (ja) | 1996-10-15 |
WO1994019768A1 (fr) | 1994-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1015976B1 (fr) | Transfert de donnees vers une memoire remanente | |
US8078586B2 (en) | Accessing file data stored in non-volatile re-programmable semiconductor memories | |
EP0685093A1 (fr) | Systeme bios comprime | |
US5479639A (en) | Computer system with a paged non-volatile memory | |
US6421776B1 (en) | Data processor having BIOS packing compression/decompression architecture | |
US5671413A (en) | Method and apparatus for providing basic input/output services in a computer | |
US6496882B2 (en) | Method and system for virtual memory compression in an embedded system | |
EP0127440A2 (fr) | Dispositif de circuit intégré incorporant une unité de traitement de données et une ROM mémorisant des programmes d'application | |
WO1997044739A1 (fr) | Dispositif de conversion de donnees entre differents formats et systeme et procede d'emploi associes | |
GB2162346A (en) | High speed program store with bootstrap | |
WO1985003150A1 (fr) | Systeme de traitement de donnees comprenant une hierarchie de la memoire | |
US6195107B1 (en) | Method and system for utilizing virtual memory in an embedded system | |
US4422144A (en) | Microinstruction substitution mechanism in a control store | |
JPH0341859B2 (fr) | ||
EP1490766A2 (fr) | Disque dur discret, invisible au bios, toujours actif, en tant que sauvegarde robuste servant d'image du disque dur et en cas de defaut de logiciel | |
US7222258B2 (en) | Compressing a firmware image | |
US5842012A (en) | Efficient soft reset in a personal computer | |
WO1982001429A1 (fr) | Registre d'empilage pour processeur de donnees | |
US5127096A (en) | Information processor operative both in direct mapping and in bank mapping, and the method of switching the mapping schemes | |
US6792565B1 (en) | Address conversion device for nonvolatile memory | |
KR100534613B1 (ko) | 플래쉬 메모리를 이용한 시스템 부팅 장치 및 그 방법 | |
US6990575B2 (en) | Apparatus and process for a starting a data processing installation | |
EP3323039B1 (fr) | Procédé pour agrandir une mémoire de données dans une architecture de microprocesseur existante avec adressage mémoire limité | |
KR20000048754A (ko) | 마이크로프로세서 및 스택 메모리를 갖는 회로장치 | |
JPH07168694A (ja) | プロセッサおよびそれを用いたデータ処理システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 19950801 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AT CH DE FR GB LI NL |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: ELONEX TECHNOLOGIES, INC. |
|
A4 | Supplementary search report drawn up and despatched |
Effective date: 19970217 |
|
AK | Designated contracting states |
Kind code of ref document: A4 Designated state(s): AT CH DE FR GB LI NL |
|
17Q | First examination report despatched |
Effective date: 19981009 |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: ELONEX I.P. HOLDINGS LIMITED |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 19990220 |