Method of Testing Personal Computer Using a Static Random Access Memory
Original Publication Date: 1994-Jul-01
Included in the Prior Art Database: 2005-Mar-27
Janotta, WE: AUTHOR [+2]
Described is an architectural implementation for testing Personal Computers (PCs) during a Power-On Self Test (POST) operation by using the static Random Access Memory (RAM) available in the Central Processing Unit (CPU).
Method of Testing Personal Computer Using a Static Random
an architectural implementation for testing
Personal Computers (PCs) during a Power-On Self Test (POST) operation
by using the static Random Access Memory (RAM) available in the
Central Processing Unit (CPU).
the testing of a PC during POST operations involves
the building block method. This method prohibits the use of any
component which has not been tested. The processor complex is tested
first, starting with the CPU and moving outward to the other circuit
chips on a CPU/cache card. After the CPU/cache card is verified,
then the base card is tested and when the processor complex is
verified, then the channel, memory bus, and the planar functions are
each, in turn, enabled and tested. For PCs designed with the
system's RAM located on the planar, the building block method cannot
be used to test the processor complex.
In prior art,
POST software programs involved a complex and
sometimes an unmanageable set of programs. Generally, the first
stage of the POST, including the processor complex POST, was executed
without the availability of a RAM. Without a RAM, there was no means
of using basic programming data structures, such as stacks or data
areas. This lack of basic programming data structures forced the
POST programmer to develop unstructured code that could be difficult
to debug and maintain. Not having access to the system board RAM
forced the POST programmer to develop code that was difficult to
debug and maintain. The programmer was forced to develop a Read Only
Memory (ROM) based POST code that cannot access the system RAM. The
programmer would develop two approaches, as follows:
1. Use the
registers and the Input/Output (I/O) ports to save data.
In this case, one function of the POST was to initialize data
areas in RAM with the system data. For example, some hardware
devices contain important data, readable only by POST that must
be saved into RAM. If RAM was unavailable, due to the building
block method of testing, POST must keep the data in a general
register, or an I/O port, until RAM is initialized and tested.
If another section of POST used the general register, or calls a
procedure that used the general register holding the saved data,
the data was destroyed.
2. Using jumps...