Data processor having BIOS packing compression/decompression...

Electrical computers and digital processing systems: support – Digital data processing system initialization or configuration – Loading initialization program

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

Reexamination Certificate

active

06421776

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates generally to data processing, and more particularly, to storage and execution of BIOS code in a personal computer.
2. Description of Related Art
All computers, such as the various models of personal computers, or PC's, produced by IBM Corporation, execute “operating system software” that instructs the PC on how to use other programs, termed “application software,” such as word processing and spreadsheet programs. Examples of PC operating systems include MS-DOS and WINDOWS, manufactured by Microsoft Corporation, and IBM's OS/2.
Before a PC can run an operating system, it must load the operating system from a disk to the PC's working memory which is ordinarily random access semiconductor memory (RAM). This is carried out through a process known as “bootstrapping,” or more simply, “booting” the PC. Booting occurs automatically when the PC is first turned on, a process called a “cold boot,” or by the user while the computer is running (“warm boot”).
Bootstrapping performs only two functions, the first being to run a power-on self-test, or POST, and the other to search the storage media (floppy diskette or hard disk) for the operating system it will load. These functions are controlled by firmware stored in one or more basic input-output system, or BIOS chips inside the PC.
The POST initializes all the internal hardware and hardware connected to the PC known to it, such as memory, and tests and places the hardware in an operational state. The BIOS program then normally checks drive A of the PC to determine if it contains a formatted floppy disk. If a disk is mounted in the drive, the program searches specific locations on the disk to determine if a valid boot record exists. If the floppy drive is empty, the boot program checks the hard drive C for the system files. In the absence of these files, the BIOS will generate an error message.
After locating a disk with a valid boot record, the BIOS program reads the data stored on the first sector of the disk, and copies that data to specific locations in RAM. This information, found in the same location on every formatted disk, constitutes the DOS boot record. The BIOS then passes control to the boot record which instructs the PC on how to load the two hidden operating system files to RAM (the files named IBMBIO.COM and IBMDOS.COM on IBM computers). After loading other operating system files into RAM to carry out the rest of the boot up sequence, the boot record is no longer needed.
The root directory of the boot disk is next searched for a file created by the user (CONFIG.SYS) and which contains commands instructing the operating system how to handle certain operations such as how many files may be opened at a time, and so-called device drivers which describe the existence and characteristics of hardware devices not recognized by BIOS that may be connected to the PC.
Next loaded from the boot disk into RAM is the file COMMAND.COM which is an operating system file containing, among other functions, fundamental DOS commands used throughout application program execution, and a file named AUTOEXEC.BAT created by the user and containing a series of DOS batch file commands or program names to be executed by the PC each time the computer is turned on. This completes the boot up sequence, and at this point the computer is considered fully booted and ready to be used.
The IBM PC operating environment is depicted in
FIG. 1
, a map of the first 1M of random access system memory. Within the first 640 Kbyte region of the system memory is stored base BIOS data, such as interrupt vectors and other machine specific operating parameters such as identification of drives and access to them through BIOS INT
13
functions. This is followed in the same region of memory by the operating system, such as DOS, followed by any application programs. Residing in the upper layers of the system memory, above 640K (called “upper memory”) but beneath the 1 Mbyte boundary are video data and firmware based BIOS which is fixed for all applications.
Considering now the BIOS itself in more detail, it is the hardware abstraction layer common to all IBM PC compatible systems. The BIOS consists of code carrying out prescribed functions including converting operating signals developed by an operating system executed by the CPU into electrical signals compatible with devices that are responsive to signals provided by the CPU to the system bus. However, as new features and new industry support are introduced, the BIOS must be supplemented or revised to accommodate them. In addition, the BIOS must remain compatible with the currently very large PC install base.
However, the size of the portion of the read only memory (ROM) resident in a PC for storing BIOS code is limited. As depicted In
FIG. 1
, the address range 0 through FFFFFh reserves only the 128 Kbytes of RAM above E0000h for BIOS. It is necessary to restrict the size of the BIOS to accommodate that constraint in order to retain architectural compatibility with the PC despite that new industry imperatives, such as Plug and Play, PCI, APM 1.1, Smart Energy System (TM) and others continue to evolve and impose additional BIOS requirements. In view of the 128K boundary defined for BIOS, the existing BIOS ROM is insufficient in size to accommodate the necessary services (features and functions).
Furthermore, during PC operation, it is necessary to load an image of the BIOS into an area of the main memory, called “shadow memory,” to increase execution speed. The shadow memory stores a replica or image of the BIOS, and enables execution of BIOS routines much faster than would be possible directly from the BIOS ROM.
BIOS developers have attempted to overcome the 128K BIOS limitation by using such techniques as paging or bank switching memory which uses a ROM larger than 128K. However, paging and other approaches that require a ROM memory of increased size are accompanied by additional hardware requirements, and hence, cost, and in some cases, system performance degradation.
Other attempts to satisfy these requirements have included compressing parts of the BIOS in the ROM and decompressing these parts from the ROM into the shadow RAM area upon boot. These attempts have been limited, however, to compressing only the SETUP and, more recently, the video BIOS area. But the remaining portions of the BIOS code have not been a candidate for compression, among other reasons because there has been no mechanism for compressing large blocks of BIOS including the POST component of the BIOS code, decompressing and then booting successfully.
More particularly, a problem is encountered when considering how to compress and thereafter decompress BIOS code upon system initialization. That is, it has not been determined how to successfully carry out a boot when the ROM is compressed, or how to do so under different boot scenarios, such as (1) cold boot, (2) warm boot or reset of the CPU in real mode (that is, having conventional memory only), and (3) warm boot or reset of the CPU in protect mode (for example, having conventional memory and expanded memory).
Furthermore, decompression of BIOS from the ROM into the shadow memory is relatively slow, increasing the time required for bootstrapping. This slow processing is a property inherent in moving data from ROM for handling by the CPU.
SUMMARY OF THE INVENTION
An advantage of the invention is in overcoming the foregoing BIOS limitations while maintaining compatibility with existing PC architecture. Another advantage is in reducing the time required for bootstrapping. A further advantage is in performing BIOS code decompression under different boot sceneries, cold and warm, and upon memory conditions of real and protect.
The invention provides a data processing system comprising a central processing unit (CPU), a system memory for storing data in the form of electrical signals, a first port for receiving an input device generating electrical input signals, and at least one second port for supplying electrica

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Data processor having BIOS packing compression/decompression... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Data processor having BIOS packing compression/decompression..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Data processor having BIOS packing compression/decompression... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2849427

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.