US5280621A - Personal computer having dedicated processors for peripheral devices interconnected to the CPU by way of a system control processor - Google Patents

Personal computer having dedicated processors for peripheral devices interconnected to the CPU by way of a system control processor Download PDF

Info

Publication number
US5280621A
US5280621A US08/019,997 US1999793A US5280621A US 5280621 A US5280621 A US 5280621A US 1999793 A US1999793 A US 1999793A US 5280621 A US5280621 A US 5280621A
Authority
US
United States
Prior art keywords
recited
computer system
dedicated processors
allowing
scp
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 - Fee Related
Application number
US08/019,997
Inventor
Brian C. Barnes
Mark J. Foster
Lloyd W. Gauthier
Saifee Fakhruddin
David J. DeLisle
David R. Veit
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
Zenith Data Systems Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to US08/019,997 priority Critical patent/US5280621A/en
Application filed by Zenith Data Systems Corp filed Critical Zenith Data Systems Corp
Application granted granted Critical
Publication of US5280621A publication Critical patent/US5280621A/en
Assigned to ZENITH DATA SYSTEMS CORPORATION reassignment ZENITH DATA SYSTEMS CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: VEIT, DAVID R.
Assigned to ZENITH DATA SYSTEMS CORPORATION reassignment ZENITH DATA SYSTEMS CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: DELISLE, DAVID J., FAKHRUDDIN, SAIFUDDIN
Assigned to ZENITH DATA SYSTEMS CORPORATION reassignment ZENITH DATA SYSTEMS CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: GAUTHIER, LLOYD W.
Assigned to ZENITH DATA SYSTEMS CORPORATION reassignment ZENITH DATA SYSTEMS CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BARNES, BRIAN C.
Assigned to ZENITH DATA SYSTEMS CORPORATION reassignment ZENITH DATA SYSTEMS CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: FOSTER, MARK J.
Assigned to PACKARD BELL NEC, INC. reassignment PACKARD BELL NEC, INC. MERGER (SEE DOCUMENT FOR DETAILS). Assignors: ZENITH DATA SYSTEMS CORPORATION
Assigned to SUMITOMO BANK OF NEW YORK TRUST COMPANY reassignment SUMITOMO BANK OF NEW YORK TRUST COMPANY SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: PACKARD BELL NEC, INC.
Assigned to SUMITOMO BANK, THE, LIMITED, NEW YORK BRANCH, AS COLLATERAL AGENT FOR LENDER reassignment SUMITOMO BANK, THE, LIMITED, NEW YORK BRANCH, AS COLLATERAL AGENT FOR LENDER TRANSFER OF SECURITY INTEREST Assignors: SUMITOMO BANK OF NEW YORK TRUST COMPANY
Assigned to PACKARD BELL NEC, INC. reassignment PACKARD BELL NEC, INC. TERMINATION OF SECURITY INTEREST Assignors: SUMITOMO BANK LIMITED, THE, NEW YORK BRANCH, AS COLLATERAL AGENT FOR LENDER
Assigned to NEC CORPORATION reassignment NEC CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: PACKARD BELL NEC, INC.
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine

Definitions

  • This invention relates to personal computers, and more particularly personal computers having a network of microcontrollers, each tied to one or more peripheral devices, such as a keyboard, which communicate with the system control processor (also known as a keyboard controller in an IBM or IBM compatible machine) to improve the overall system performance by eliminating the relatively slow peripheral communication with the system control processor and freeing up the system control processor for other tasks.
  • system control processor also known as a keyboard controller in an IBM or IBM compatible machine
  • IBM type PC/AT compatible personal computers utilize a separate microprocessor as a system control processor (SCP).
  • SCP provides an interface between the host processor or CPU and peripherals, such as a keyboard. More specifically, the SCP handles the communication between the CPU and the keyboard.
  • the IBM defined communication protocol between the keyboard and the SCP is relatively slow. Consequently, when the SCP is preoccupied with keyboard communication, it must finish that task before it can go on to other tasks. Accordingly, this keyboard interfacing task limits the overall system performance because the CPU must wait for the SCP to become free again.
  • FIG. 1 is a block diagram illustrating the interface between the CPU and the keyboard in known personal computers
  • FIG. 2 is a block diagram illustrating the architecture in accordance with the present invention.
  • FIG. 3 is a functional representation of a data packet used as the communication protocol between the microcontroller network illustrated in FIG. 2;
  • FIG. 4 is a representation of a source byte portion of the data packet illustrated in FIG. 3;
  • FIG. 5 is a representation of the destination command byte portion of the data packet illustrated in FIG. 3;
  • FIG. 6 is a representation of the data byte portion for the data packet illustrated in FIG. 3;
  • FIG. 7 is a schematic diagram of the system in accordance with the present invention.
  • FIG. 8 is a flow chart illustrating the means for indicating transmission of a data packet in accordance with the present invention.
  • FIG. 9 is a flow chart illustrating means for receiving a data packet in accordance with the present invention.
  • the present invention relates to utilizing a network of microcontrollers 20, 22, 24 and 36 (eight, for example) to provide communication between peripheral devices through their respective microcontrollers, such as a keyboard 26, a numeric keypad 28, an external keyboard 30 or other peripheral devices 32.
  • the microcontrollers 20, 22 and 24 are connected in a network, hereinafter referred to as KEYNET, shown within the dashed box 34 in FIG. 2.
  • KEYNET a network
  • Each KEYNET processor is dedicated to one or more peripherals.
  • the KEYNET bus 34 is, in turn, connected to the SCP 36.
  • the SCP 36 which may be an Intel 8051 (or a derivative thereof), communicates with the CPU through a system control processor interface SCPI 38 in much the same manner as the old 8042 architecture.
  • Each microcontroller 20, 22 and 24 operate relatively faster than an Intel 8042, thus providing a much more efficient interface between the peripheral devices 26, 28, 30 and 32.
  • an Intel 8051 may be used for the microcontrollers 20, 22, 24 and 36. Additionally, the Intel 8051 executes equivalent instructions as the Intel 8042 but approximately 25% faster. Other advantages of the Intel 8051 over the Intel 8042 is that its instruction set is much more versatile and efficient.
  • the Intel 8051 includes an on-board serial communications interface.
  • All microcontrollers are interfaced to the KEYNET bus by way of a serial port and a bidirectional input/output line hereinafter referred to as a /BUSY line, as available in Intel type 8051 microcontrollers.
  • a serial port and a bidirectional input/output line hereinafter referred to as a /BUSY line, as available in Intel type 8051 microcontrollers.
  • any device which can emulate an Intel type 8051 serial port and also provide a bidirectional line suitable as a /BUSY line can also be used.
  • All devices connected to the KEYNET bus must also be able to operate at a baud rate between 187 Kbps to 1 Mbps and have the following serial protocol: 1 start bit (low); 8 data bits, 1 programmable ninth data bit and 1 stop bit (high).
  • An important aspect of the invention relates to the communication between the SCP 36 and the peripheral devices 26, 28, 30 and 32.
  • the SCP 36 communicates with a KEYNET processor 20, 22 or 24.
  • the KEYNET processors 20, 22 or 24 will look and act like a keyboard to the SCP 36.
  • the SCP 36/KEYNET interface is much faster than the SCP 36/keyboard 26 interface.
  • the KEYNET processors 20 and 22 are assigned the task of communicating with the peripherals, such as the keyboards 26 and 30 utilizing the well known relatively slow IBM defined communication protocol.
  • the KEYNET processors 20, 22 and 24 look like system control processors to the peripherals. Since the SCP 36 no longer has the peripherals to slow it down, the SCP 36 is free to do other tasks which are much more important in terms of system performance.
  • KEYNET architecture there are various advantages of the KEYNET architecture over the 8042 type architecture. These advantages include improving the speed of the system. This is accomplished by removing the relatively slow IBM defined keyboard communication procedure from the system control processor and placing it where speed is not critical. The system throughout is also increased by decreasing the SCP workload by sharing tasks with the KEYNET processors. Other advantages of the KEYNET architecture relate to expansion and diagnostic capabilities. Specifically, more than one keyboard and keypad can be connected to the system as well as other types of peripherals as needed. Also the KEYNET architecture allows for much simplified testing of variables that are traditionally more difficult to test.
  • Intel type 8051 microcontrollers have an on-board serial communications port which includes a transmit line (TXD) and a receive line (RXD). As best shown in FIG. 7, all of the transmit and receive lines TXD and RXD are tied together on a common TXD/RXD bus forming a network. These microcontrollers also include a bidirectional busy (BUSY) line which is used to reduce contention of the TXD/RXD line by multiple controllers.
  • BUSY bidirectional busy
  • the system protocol defines the methods at which the SCP 36 and the various KEYNET processors 20, 22, 24 and 36 communicate with each other.
  • the protocol also defines various address, command and data codes that are interpreted and understood by the SCP 36 and by all of the KEYNET processors 20, 22 and 24 that operate on the KEYNET system.
  • the KEYNET's protocol consists of gaining exclusive control of the KEYNET bus through a simple arbitration process and then transmitting as many variable length data packets as required as illustrated, for example, in FIG. 3.
  • Each data packet may consist of a source string, a command/destination string and may optionally include one or more data strings.
  • the KEYNET processor Once the KEYNET processor is finished transmitting a data packet, it releases control of the KEYNET bus.
  • the SCP 36 and the KEYNET processors 20, 22 and 24 do not have to release control of the KEYNET bus after sending only one data packet.
  • Several data packets of different types or destinations can be transmitted by the SCP 36 or the KEYNET processors 20, 22 and 24 as long as control of the KEYNET bus is not relinquished.
  • an arbitration process is used. In cases where contention occurs, the protocol resolves the contention and awards control of the KEYNET bus to a particular KEYNET processor 20, 22, 24 or 36 having the highest priority.
  • the protocol also defines a standard procedure to receive data packets from the KEYNET system.
  • the SCP 36 communicates directly with the peripheral devices 26, 28, 30 and 32.
  • the SCP 36 is isolated from the peripheral devices 26, 28, 30 and 32.
  • Each peripheral device 26, 28, 30 and 32 is interfaced to the SCP 36 by way of their respective KEYNET processor 20, 22 and 24.
  • a KEYNET processors 20, 22 and 24 act like a peripheral device when communicating with the SCP 36 and like an SCP when communicating with a peripheral device 26, 28, 30 or 32.
  • the source byte portion of the data packet is illustrated in FIG. 4 and includes 8 bits (S0-S7) and a programmable 9th bit.
  • An important feature of an Intel type 8051 is the ability to provide a programmable ninth data bit allowing for multiprocessor communications. This is described in detail in 1989 INTEL 8-BIT EMBEDDED CONTROLLER HANDBOOK, Page 8-35 which is herein incorporated by reference. All source bytes utilize a "1" in the 9th data bit position.
  • the source byte is encoded to indicate which KEYNET processor is the transmitter. It is also used to help determine if there has been a collision with another KEYNET processor on the KEYNET network.
  • Each KEYNET processor 20, 22, 24 and 36 is assigned a unique bit position within the source byte. The bit assignments for the 7 controllers and an external port are defined in TABLE I.
  • the destination command byte portion of the data packet is illustrated in FIG. 5 and includes 8 data bits (B0-B7) and a zero in the 9th data bit position.
  • the destination/command byte allows for local and global addressing. More specifically, the KEYNET processors 20, 22, 24 and 36 can transmit a data packet either to another KEYNET processor in a local mode or to all of the KEYNET processors in a global mode.
  • Bit B7 of the destination command byte DEST/CMD determines how the data packets are to be addressed. A "0" in bit B7 represents the local mode. A "1" in bit B7 r presents the global mode.
  • the local mode prevents other KEYNET processors from being interrupted unnecessarily.
  • bits B4-B6 of the destination command DEST/CMD byte identifies the KEYNET processor 20, 22 or 24 to be addressed as shown in TABLE II.
  • Bits B3-B0 of the destination command byte indicates a specific local command as shown in TABLE III.
  • Command Function 0 SCP-KBD CMD/DATA SEQUENCE--This command indicated that the data bytes that follow are command or data bytes as normally seen in keyboard-SCP type communications. These sequences are defined by IBM or Zenith Data Systems (ZDS) and include:
  • Command Function 1 EXECUTE KEYBOARD I/F TEST - This command indicates that the source controller wants the addressed controller to perform a keyboard interface test and that no data bytes follow. In this mode, the source controller expects a return value indicating a test result. See “KEYBOARD I/F TEST RESULTS" command.
  • Command Function 2 ENABLE KEYBOARD I/F - This command indicates that the source controller wants the addressed controller to enable its keyboard value interface by releasing the ⁇ CLK ⁇ line and that no data bytes follow.
  • Command Function 3 DISABLE KEYBOARD I/F - This command indicates that the source controller wants the addressed controller to disable its keyboard interface by driving the ⁇ CLK ⁇ line low and that no data bytes follow.
  • Command Function 5 SET AVERAGED BATTERY SAMPLE RETURN RATE - This command indicates that the data byte following is a rate at which the SCP wants an average of the battery voltage samples returned.
  • a sample averaging period is defined by the SCP in the "SET AVERAGED BATTERY SAMPLE RETURN RATE" command.
  • Command Function 7 KEYBOARD PARITY ERROR - This command indicates that a parity error occurred in the communication between the source controller and its attached keyboard and that no data bytes follow.
  • Command Function 8 RETURN KEYNET CONTROLLER ID/MFG MODE - This command indicates that the controller identified in the SOURCE byte is on-line with the KEYNET and that no data bytes follow.
  • Command Function 9 KEYBOARD TRANSMIT TIMEOUT - This command indicates that a keyboard transmit timeout occurred and that no data bytes follow.
  • Command Function A KEYBOARD RECEIVE TIMEOUT - This command indicates that a keyboard receive timeout occurred and that no data bytes follow.
  • Command Function F EXTENDED COMMAND SET - This command indicates that the following byte is being used to identify a command or function. This feature is necessary only if functions 0 through E of this command set table are fully utilized and additional commands are required.
  • Command Function 0 SCP-KBD CMD/DATA SEQUENCE - Indicates that the DATA bytes to follow are command or data bytes as normally seen in keyboard-SCP type communications. These sequences are defined by IBM or ZDS and include:
  • KEYBOARD I/F TEST Indicates that the source controller wants all controllers with keyboards to perform a keyboard interface test. No DATA bytes to follow. Source controller expects a return value indicating test results. See "KEYBOARD I/F TEST RESULTS" command.
  • Command Function 2 ENABLE KEYBOARD I/F - Indicates that the source controller wants all controllers to enable their keyboard interfaces by releasing their ⁇ CLK ⁇ lines. No DATA bytes to follow.
  • Command Function 3 DISABLE KEYBOARD I/F - Indicates that the source controller wants all controllers to disable their keyboard interfaces by driving their ⁇ CLK ⁇ lines low. No DATA bytes to follow.
  • the source KEYNET processor In order to initiate transmission of a data packet over the KEYNET bus, the source KEYNET processor must first read the /BUSY line to see if another KEYNET processor is using the KEYNET bus. If the /BUSY line is active low, this represents that another KEYNET processor already has control of the KEYNET bus. In this situation, the initiating KEYNET processor will have to postpone transmission until it can successfully arbitrate control of the KEYNET bus later. If the BUSY line is inactive high, then the source KEYNET processor can proceed with transmitting a data packet using the KEYNET bus. The source processor will first pull the /BUSY line low and transmit the source byte of the data packet.
  • Each of the KEYNET processors have their TXD lines wired directly to the RXD lines as shown in FIG. 7 so that the transmitted byte can be read back by the transmitting processor and checked for accuracy. If the byte that is read back is the same as the byte that was transmitted, then there is no contention for the KEYNET bus and the source KEYNET processor will have exclusive control. If the byte received on the RXD line is not the same as the byte transmitted, then a collision must have occurred indicating that there is a contention for the KEYNET bus. Any transmitting source processor will be able to detect the collision.
  • An arbitration scheme is used to resolve the contention.
  • This arbitration scheme utilizes the relatively simple method to determine the priority of the contending KEYNET processors.
  • a unique mask is used. For example, the mask for KEYNET processor 2 would be 00000011. This mask is ANDed with the RXD value seen at each RXD line. For example, if KEYNET processor 0, 2 and 5 contend for bus control, the RXD value (i.e., result at each of the RXD pins) would be a 1101 1010 as shown below.
  • the microcontroller having a resultant value less than the original mask loses the arbitration.
  • the winner of the arbitration continues to hold the /BUSY line and transmit as required.
  • KEYNET processors losing the bus arbitration release the /BUSY line and try their transmission later.
  • the procedure for initiating a transmission is illustrated in FIG. 8.
  • the initiating KEYNET processor checks the /BUSY line. If the /BUSY line is active low in step 44, this means another KEYNET processor has control of the KEYNET and the system proceeds to step 62. If the /BUSY line is inactive high the initiating KEYNET processor pulls the /BUSY line low in step 46. The source byte is then transmitted in step 48 and read back in step 50 to determine its accuracy. If the received byte is determined to be different than the transmitted byte in step 52, the system assumes there is a bus contention and proceeds to step 66 where the contending processor arbitrates for bus control. In step 68 the winner of the arbitration proceeds to step 48 and transmits the source byte. The loser of the arbitration proceeds to step 60 and releases the /BUSY line.
  • step 54 If the transmitted source byte is determined to be the same as the received source byte in step 54, the DEST/CMD byte is transmitted.
  • step 56 data byte(s) are transmitted as required. As previously mentioned, more than one data packet can be transmitted while a particular KEYNET processor has control of the KEYNET bus. Thus, if there are additional data packets to be transmitted as determined in step 58, the system repeats steps 48-58. If there are no additional data packets to be transmitted, the KEYNET processor releases the /BUSY line in step 60 and either returns to its main task in step 62 and returns to step 42.
  • All KEYNET processors on the KEYNET bus are required to receive the SOURCE byte and DEST/CMD byte of every data packet transmitted. This is necessary to insure that each KEYNET processor is able to determine the source of the transmission when they are the addressed processor. In the event that the source processor is requesting a value to be returned, the addressed processor must know where the value is to be returned.
  • KEYNET takes advantage of a special microprocessor communications feature in the Intel 8051 serial port. The details of this feature are described in detail in Intel 1989 INTEL 8-bit EMBEDDED CONTROLLER HANDBOOK, page 8-35, hereby incorporated by reference.
  • the procedure for receiving a serial data byte is shown in FIG. 9.
  • the serial ports of the KEYNET processors 20, 22 and 24 are set up so that the receive interrupt RI is tripped only when the 9th bit is a 1.
  • the SOURCE byte is stored.
  • the serial port is set such that any incoming byte trips the receive interrupt RI.
  • the 9th bit is inspected in steps 77 and 78. If the 9th bit is a "0", this indicates that is DEST/CMD byte causing the system to proceed to step 82.
  • step 80 If not, the system assumes it is another SOURCE byte which must be stored in place of the previous SOURCE byte and thus proceeds to step 80. Once the SOURCE byte is stored, system proceeds back to step 76. In step 82, bit D7 of the SOURCE byte is inspected to determine it if is a global address. If it is a global address, the system proceeds to step 96, where the DEST/CMD bits D6-D0 are read and the command is executed. Otherwise, the system assumes that it is a local processor address. If it is a local processor address, the SOURCE bits D6-D4 are read in step 86 to determine the local processor address. For processors which are not addressed, as indicated by step 88, they return to step 70.
  • the source bits D3-D0 are read in step 90 to obtain the command/function nibble.
  • the command/function nibble is interpreted and executed as required. If no data bytes are pending, as indicated by step 94, the system returns to step 70 where the serial port is set up to trip the receive interrupt only on a source address byte (i.e., when the 9th bit is 1). If data bytes are expected, the 9th bit of the expected data byte is read in steps 100 and 101 to determine if it is a new data byte or a new SOURCE byte. If it is a DATA byte, then it is processed in step 102 and the system returns back to step 94. Otherwise, if it is a SOURCE bit as determined in step 101, the system returns to step 71.

Abstract

A plurality of processors form a network used to communicate with one or more peripheral devices and the system control processor. One processor is dedicated to at least one peripheral device. Since the system control processor is not burdened with the relatively slow communications protocol with the peripheral devices, it is free to do other tasks which improves the overall system performance. Communication protocol between the dedicated processors allows for local and global communication.

Description

This application is a continuation of application Ser. No. 07/459,042, filed Dec. 29, 1989, now abandoned.
CROSS REFERENCE TO RELATED APPLICATIONS
This application is related to an application for a FAST SWITCHING MEMORY MODE SYSTEM, Ser. No. 07/459,055, filed on Dec. 29, 1989 continued as application Ser. No. 07/735,619, filed on Jul. 25, 1991 and assigned to the same assignee as the present invention.
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates to personal computers, and more particularly personal computers having a network of microcontrollers, each tied to one or more peripheral devices, such as a keyboard, which communicate with the system control processor (also known as a keyboard controller in an IBM or IBM compatible machine) to improve the overall system performance by eliminating the relatively slow peripheral communication with the system control processor and freeing up the system control processor for other tasks.
2. Description of the Prior Art
IBM type PC/AT compatible personal computers utilize a separate microprocessor as a system control processor (SCP). The SCP provides an interface between the host processor or CPU and peripherals, such as a keyboard. More specifically, the SCP handles the communication between the CPU and the keyboard. The IBM defined communication protocol between the keyboard and the SCP is relatively slow. Consequently, when the SCP is preoccupied with keyboard communication, it must finish that task before it can go on to other tasks. Accordingly, this keyboard interfacing task limits the overall system performance because the CPU must wait for the SCP to become free again.
Many known PC/AT type personal computers utilize an Intel type 8042 microprocessor as an SCP. The original PC type AT personal computers were introduced in 1983 with an Intel 80286 microprocessor. The 80286 microprocessors operated originally at 6 megahertz. In that environment, the use of an Intel type 8042 as a system control processor is adequate. However, personal computers today are much faster than the original IBM PC/AT computer. For example, some personal computers utilize an Intel 80386 as a CPU, which has an operating speed up to 33 megahertz. In such machines, the existing architecture, as shown in FIG. 1, can intensify the problems mentioned above and consequently severely limit the system performance. In addition to the problems mentioned above, newer machines, particularly the portable laptop type computers place additional burdens on the SCP. For example, in such computers, the SCP's tasks include battery power management, external bus expansion control and video functions such as backlighting control and LCD/CRT device selection. These additional tasks further degrade system performance.
SUMMARY OF THE INVENTION
It is an object of the present invention to provide a personal computer which solves the problems of the prior art.
It is another object of the present invention to improve the overall system performance of a personal computer.
It is yet another object of the present invention to utilize a separate microcontroller for one or more peripheral devices, such as a keyboard.
It is yet another object of the present invention to provide a network of microcontrollers for controlling peripheral devices.
It is yet a further object of the present invention to improve the overall system performance of an IBM PC/AT compatible computer.
DESCRIPTION OF THE DRAWING
These and other objects and advantages of the present invention will become readily apparent upon consideration of the following detailed description of the attached drawing wherein:
FIG. 1 is a block diagram illustrating the interface between the CPU and the keyboard in known personal computers;
FIG. 2 is a block diagram illustrating the architecture in accordance with the present invention;
FIG. 3 is a functional representation of a data packet used as the communication protocol between the microcontroller network illustrated in FIG. 2;
FIG. 4 is a representation of a source byte portion of the data packet illustrated in FIG. 3;
FIG. 5 is a representation of the destination command byte portion of the data packet illustrated in FIG. 3;
FIG. 6 is a representation of the data byte portion for the data packet illustrated in FIG. 3;
FIG. 7 is a schematic diagram of the system in accordance with the present invention;
FIG. 8 is a flow chart illustrating the means for indicating transmission of a data packet in accordance with the present invention; and
FIG. 9 is a flow chart illustrating means for receiving a data packet in accordance with the present invention.
DETAILED DESCRIPTION
The present invention relates to utilizing a network of microcontrollers 20, 22, 24 and 36 (eight, for example) to provide communication between peripheral devices through their respective microcontrollers, such as a keyboard 26, a numeric keypad 28, an external keyboard 30 or other peripheral devices 32. The microcontrollers 20, 22 and 24 are connected in a network, hereinafter referred to as KEYNET, shown within the dashed box 34 in FIG. 2. Each KEYNET processor is dedicated to one or more peripherals. The KEYNET bus 34 is, in turn, connected to the SCP 36. The SCP 36, which may be an Intel 8051 (or a derivative thereof), communicates with the CPU through a system control processor interface SCPI 38 in much the same manner as the old 8042 architecture. The SCPI 38 is described in detail in copending application Ser. No. 07/459,055, filed on even date now abandoned in favor of continuation application Ser. No. 08/031,029 now pending hereby incorporated by reference and copending application Ser. No. 07/735,619, filed on Jul. 25, 1991, both assigned to the same assignee as the present invention.
Each microcontroller 20, 22 and 24 operate relatively faster than an Intel 8042, thus providing a much more efficient interface between the peripheral devices 26, 28, 30 and 32. For example, an Intel 8051 may be used for the microcontrollers 20, 22, 24 and 36. Additionally, the Intel 8051 executes equivalent instructions as the Intel 8042 but approximately 25% faster. Other advantages of the Intel 8051 over the Intel 8042 is that its instruction set is much more versatile and efficient. Lastly, the Intel 8051 includes an on-board serial communications interface.
All microcontrollers are interfaced to the KEYNET bus by way of a serial port and a bidirectional input/output line hereinafter referred to as a /BUSY line, as available in Intel type 8051 microcontrollers. However, it should also be understood that any device which can emulate an Intel type 8051 serial port and also provide a bidirectional line suitable as a /BUSY line can also be used.
All devices connected to the KEYNET bus must also be able to operate at a baud rate between 187 Kbps to 1 Mbps and have the following serial protocol: 1 start bit (low); 8 data bits, 1 programmable ninth data bit and 1 stop bit (high).
An important aspect of the invention relates to the communication between the SCP 36 and the peripheral devices 26, 28, 30 and 32. Instead of communicating directly with the peripheral devices, such as in the case of the 8042 architecture illustrated in FIG. 1, the SCP 36 communicates with a KEYNET processor 20, 22 or 24. In this mode, the KEYNET processors 20, 22 or 24 will look and act like a keyboard to the SCP 36. However, the SCP 36/KEYNET interface is much faster than the SCP 36/keyboard 26 interface.
The KEYNET processors 20 and 22 are assigned the task of communicating with the peripherals, such as the keyboards 26 and 30 utilizing the well known relatively slow IBM defined communication protocol. The KEYNET processors 20, 22 and 24 look like system control processors to the peripherals. Since the SCP 36 no longer has the peripherals to slow it down, the SCP 36 is free to do other tasks which are much more important in terms of system performance.
There are various advantages of the KEYNET architecture over the 8042 type architecture. These advantages include improving the speed of the system. This is accomplished by removing the relatively slow IBM defined keyboard communication procedure from the system control processor and placing it where speed is not critical. The system throughout is also increased by decreasing the SCP workload by sharing tasks with the KEYNET processors. Other advantages of the KEYNET architecture relate to expansion and diagnostic capabilities. Specifically, more than one keyboard and keypad can be connected to the system as well as other types of peripherals as needed. Also the KEYNET architecture allows for much simplified testing of variables that are traditionally more difficult to test.
As heretofore stated, Intel type 8051 microcontrollers have an on-board serial communications port which includes a transmit line (TXD) and a receive line (RXD). As best shown in FIG. 7, all of the transmit and receive lines TXD and RXD are tied together on a common TXD/RXD bus forming a network. These microcontrollers also include a bidirectional busy (BUSY) line which is used to reduce contention of the TXD/RXD line by multiple controllers.
SYSTEM PROTOCOL
The system protocol defines the methods at which the SCP 36 and the various KEYNET processors 20, 22, 24 and 36 communicate with each other. The protocol also defines various address, command and data codes that are interpreted and understood by the SCP 36 and by all of the KEYNET processors 20, 22 and 24 that operate on the KEYNET system. The KEYNET's protocol consists of gaining exclusive control of the KEYNET bus through a simple arbitration process and then transmitting as many variable length data packets as required as illustrated, for example, in FIG. 3. Each data packet may consist of a source string, a command/destination string and may optionally include one or more data strings.
Once the KEYNET processor is finished transmitting a data packet, it releases control of the KEYNET bus. The SCP 36 and the KEYNET processors 20, 22 and 24 do not have to release control of the KEYNET bus after sending only one data packet. Several data packets of different types or destinations can be transmitted by the SCP 36 or the KEYNET processors 20, 22 and 24 as long as control of the KEYNET bus is not relinquished.
In order to prevent contention among the SCP 36 and various KEYNET processors 20, 22 and 24, an arbitration process is used. In cases where contention occurs, the protocol resolves the contention and awards control of the KEYNET bus to a particular KEYNET processor 20, 22, 24 or 36 having the highest priority.
The protocol also defines a standard procedure to receive data packets from the KEYNET system. In an 8042 type architecture, the SCP 36 communicates directly with the peripheral devices 26, 28, 30 and 32. However, with the KEYNET architecture, the SCP 36 is isolated from the peripheral devices 26, 28, 30 and 32. Each peripheral device 26, 28, 30 and 32 is interfaced to the SCP 36 by way of their respective KEYNET processor 20, 22 and 24. Thus, a KEYNET processors 20, 22 and 24 act like a peripheral device when communicating with the SCP 36 and like an SCP when communicating with a peripheral device 26, 28, 30 or 32.
The source byte portion of the data packet is illustrated in FIG. 4 and includes 8 bits (S0-S7) and a programmable 9th bit. An important feature of an Intel type 8051 is the ability to provide a programmable ninth data bit allowing for multiprocessor communications. This is described in detail in 1989 INTEL 8-BIT EMBEDDED CONTROLLER HANDBOOK, Page 8-35 which is herein incorporated by reference. All source bytes utilize a "1" in the 9th data bit position.
The source byte is encoded to indicate which KEYNET processor is the transmitter. It is also used to help determine if there has been a collision with another KEYNET processor on the KEYNET network. Each KEYNET processor 20, 22, 24 and 36 is assigned a unique bit position within the source byte. The bit assignments for the 7 controllers and an external port are defined in TABLE I.
              TABLE I                                                     
______________________________________                                    
SOURCE CONTROLLER ADDRESS NUMBERS                                         
S7-----S0    Controller #                                                 
______________________________________                                    
11111110      0*                                                          
11111101     1                                                            
11111011     2                                                            
11110111     3                                                            
11101111     4                                                            
11011111     5                                                            
10111111     6                                                            
01111111     Ext. Port                                                    
______________________________________                                    
 *The SCP 36 may be treated as a KEYNET address mode.                     
The destination command byte portion of the data packet is illustrated in FIG. 5 and includes 8 data bits (B0-B7) and a zero in the 9th data bit position. The destination/command byte allows for local and global addressing. More specifically, the KEYNET processors 20, 22, 24 and 36 can transmit a data packet either to another KEYNET processor in a local mode or to all of the KEYNET processors in a global mode. Bit B7 of the destination command byte DEST/CMD determines how the data packets are to be addressed. A "0" in bit B7 represents the local mode. A "1" in bit B7 r presents the global mode.
LOCAL MODE
The local mode prevents other KEYNET processors from being interrupted unnecessarily. In the local mode, bits B4-B6 of the destination command DEST/CMD byte identifies the KEYNET processor 20, 22 or 24 to be addressed as shown in TABLE II.
              TABLE II                                                    
______________________________________                                    
B6-B4                                                                     
(HEX)            Addressed Controller                                     
______________________________________                                    
0                Controller 0                                             
1                Controller 1                                             
2                Controller 2                                             
3                Controller 3                                             
4                Controller 4                                             
5                Controller 5                                             
6                Controller 6                                             
7                External Port                                            
______________________________________                                    
Bits B3-B0 of the destination command byte indicates a specific local command as shown in TABLE III.
              TABLE III                                                   
______________________________________                                    
The following Local Mode commands originate from any                      
of the processors on KEYNET and are directed to any                       
other single processor. The following commands are                        
merely intended to be exemplary:                                          
B3-B0                                                                     
HEX      LOCAL MODE                                                       
CMD      COMMAND DESCRIPTION                                              
______________________________________                                    
0        SCP-KBD CMD/DATA sequence to follow                              
1        Execute Keyboard I/F test                                        
2        Enable Keyboard Interface                                        
3        Disable Keyboard Interface                                       
4        Keyboard I/F test result byte to follow                          
5        Set Averaged Battery Sample Return Rate                          
6        A/D averaged sample to follow                                    
7        Keyboard parity error occurred                                   
8        Return KEYNET controller ID/Manufacturing                        
         Mode                                                             
9        Keyboard transmit timeout occurred                               
A        Keyboard receive timeout occurred                                
B        Reserved                                                         
C        Reserved                                                         
D        Reserved                                                         
E        Reserved                                                         
F        Extended Command Set                                             
______________________________________                                    
Definitions of the local commands are as follows:
Command Function 0: SCP-KBD CMD/DATA SEQUENCE--This command indicated that the data bytes that follow are command or data bytes as normally seen in keyboard-SCP type communications. These sequences are defined by IBM or Zenith Data Systems (ZDS) and include:
1. ZDS defined SCP-to-keyboard commands in range 80-BFh (ZDS machine dependent)
2. IBM defined SCP-to-Keyboard commands in range ED-FFH
3. Other keyboard-to-SCP communication:
______________________________________                                    
Key detection Error/Overrun bytes:                                        
                            00 or FF                                      
Keyboard ID bytes,          83AB                                          
example:                                                                  
Keyboard (basic assurance   AA                                            
test (BAT) completion code:                                               
Keyboard BAT failure        FC                                            
code:                                                                     
Echo                        EE                                            
ACK                         FA                                            
Resend/NAK                  FE                                            
Valid keyboard of   scansets   1, 2, 3                                        
Values returned in response to an SCP command                             
______________________________________                                    
Command Function 1: EXECUTE KEYBOARD I/F TEST - This command indicates that the source controller wants the addressed controller to perform a keyboard interface test and that no data bytes follow. In this mode, the source controller expects a return value indicating a test result. See "KEYBOARD I/F TEST RESULTS" command.
Command Function 2: ENABLE KEYBOARD I/F - This command indicates that the source controller wants the addressed controller to enable its keyboard value interface by releasing the `CLK` line and that no data bytes follow.
Command Function 3: DISABLE KEYBOARD I/F - This command indicates that the source controller wants the addressed controller to disable its keyboard interface by driving the `CLK` line low and that no data bytes follow.
Command Function 4: KEYBOARD I/F TEST RESULTS - This command indicates that the data byte following is the result of a previously requested keyboard interface test results byte, defined below.
______________________________________                                    
Keyboard I/F Test Results byte                                            
0 D7 D6 D5 D4 D3 D2 D1 D0                                                 
Value            Keyboard I/F                                             
(Hex)            Test Results                                             
______________________________________                                    
00               No error detected                                        
01               `CLK` stuck low                                          
02               `CLK` stuck high                                         
03               `DATA` stuck low                                         
04               `DATA` stuck high                                        
______________________________________                                    
Command Function 5: SET AVERAGED BATTERY SAMPLE RETURN RATE - This command indicates that the data byte following is a rate at which the SCP wants an average of the battery voltage samples returned. The data byte value is the return rate in increments of 200 ms, i.e., 64H=100 * 200 mS=20 seconds.
Command Function 6: A/D AVERAGED SAMPLE - This command indicates that the data byte following is an average of all battery voltage samples accrued during any particular sample averaging period. A sample averaging period is defined by the SCP in the "SET AVERAGED BATTERY SAMPLE RETURN RATE" command.
Command Function 7: KEYBOARD PARITY ERROR - This command indicates that a parity error occurred in the communication between the source controller and its attached keyboard and that no data bytes follow.
Command Function 8: RETURN KEYNET CONTROLLER ID/MFG MODE - This command indicates that the controller identified in the SOURCE byte is on-line with the KEYNET and that no data bytes follow.
Command Function 9: KEYBOARD TRANSMIT TIMEOUT - This command indicates that a keyboard transmit timeout occurred and that no data bytes follow.
Command Function A: KEYBOARD RECEIVE TIMEOUT - This command indicates that a keyboard receive timeout occurred and that no data bytes follow.
Command Function B: Reserved for future use.
Command Function C: Reserved for future use.
Command Function D: Reserved for future use.
Command Function E: Reserved for future use.
Command Function F: EXTENDED COMMAND SET - This command indicates that the following byte is being used to identify a command or function. This feature is necessary only if functions 0 through E of this command set table are fully utilized and additional commands are required.
GLOBAL MODE
In the global address mode, all KEYNET processors 20, 22 and 24 are addressed by the source processor at one time. The lower 7 bits (B6-B0) of the command data byte are used to identify commands and functions. TABLE IV illustrate an exemplary command set in the global mode. Some of the commands and responses require optional data bytes. The data bytes include bits D0-D7 and the optional 9th data bit set at "0". The data bytes can take on any value between 0-FFh.
              TABLE IV                                                    
______________________________________                                    
The global command sets are are as follows:                               
B6-B0                                                                     
HEX      GLOBAL MODE                                                      
CMD      COMMAND DESCRIPTION                                              
______________________________________                                    
00       SCP-KBD CMD/DATA sequence to follow                              
01       Execute keyboard interface test                                  
02       Enable keyboard interface                                        
03       Disable keyboard interface                                       
04       reserved for future use                                          
.        .                                                                
.        .                                                                
.        .                                                                
.        .                                                                
7F       reserved for future use                                          
______________________________________                                    
Global Command Set
Command Function 0: SCP-KBD CMD/DATA SEQUENCE - Indicates that the DATA bytes to follow are command or data bytes as normally seen in keyboard-SCP type communications. These sequences are defined by IBM or ZDS and include:
1. ZDS defined SCP-to-keyboard commands in range 80-BFh (ZDS machine dependent)
2. IBM defined SCP-to-keyboard commands in range ED-FFh
3. Other keyboard-to-SCP communication:
______________________________________                                    
Key Detection Error/Overrun 00 or FF                                      
bytes:                                                                    
Keyboard ID bytes, example: 83AB                                          
Keyboard BAT completion code:                                             
                            AA                                            
Keyboard BAT failure code:  FC                                            
Echo                        EE                                            
ACK                         FA                                            
Resend/NAK                  FE                                            
Valid keyboard scan codes of   scansets   1, 2, 3                             
Values returned in response to an SCP command                             
______________________________________                                    
Command Function 1: EXECUTE KEYBOARD I/F TEST - Indicates that the source controller wants all controllers with keyboards to perform a keyboard interface test. No DATA bytes to follow. Source controller expects a return value indicating test results. See "KEYBOARD I/F TEST RESULTS" command.
Command Function 2: ENABLE KEYBOARD I/F - Indicates that the source controller wants all controllers to enable their keyboard interfaces by releasing their `CLK` lines. No DATA bytes to follow.
Command Function 3: DISABLE KEYBOARD I/F - Indicates that the source controller wants all controllers to disable their keyboard interfaces by driving their `CLK` lines low. No DATA bytes to follow.
TRANSMISSION INITIATION AND COLLISION PREVENTION
In order to initiate transmission of a data packet over the KEYNET bus, the source KEYNET processor must first read the /BUSY line to see if another KEYNET processor is using the KEYNET bus. If the /BUSY line is active low, this represents that another KEYNET processor already has control of the KEYNET bus. In this situation, the initiating KEYNET processor will have to postpone transmission until it can successfully arbitrate control of the KEYNET bus later. If the BUSY line is inactive high, then the source KEYNET processor can proceed with transmitting a data packet using the KEYNET bus. The source processor will first pull the /BUSY line low and transmit the source byte of the data packet.
Each of the KEYNET processors have their TXD lines wired directly to the RXD lines as shown in FIG. 7 so that the transmitted byte can be read back by the transmitting processor and checked for accuracy. If the byte that is read back is the same as the byte that was transmitted, then there is no contention for the KEYNET bus and the source KEYNET processor will have exclusive control. If the byte received on the RXD line is not the same as the byte transmitted, then a collision must have occurred indicating that there is a contention for the KEYNET bus. Any transmitting source processor will be able to detect the collision.
The only instance where a data packet collision is expected to occur is when more than one KEYNET processor seeks control of the KEYNET bus during a small time window between reading the /BUSY line and pulling the /BUSY line active low. When this happens, each KEYNET processor sees an inactive /BUSY line high which indicates that it is free to take control of the KEYNET bus. It is during the subsequent transmission of the source bytes from the respective KEYNET processors that the contention is discovered.
An arbitration scheme is used to resolve the contention. This arbitration scheme utilizes the relatively simple method to determine the priority of the contending KEYNET processors. A unique mask is used. For example, the mask for KEYNET processor 2 would be 00000011. This mask is ANDed with the RXD value seen at each RXD line. For example, if KEYNET processor 0, 2 and 5 contend for bus control, the RXD value (i.e., result at each of the RXD pins) would be a 1101 1010 as shown below.
______________________________________                                    
Source byte for controller 0                                              
                    1111 1110                                             
Source byte for controller 2                                              
                    1111 1011                                             
Source byte for controller 5                                              
                    1101 1111                                             
Result              1101 1010                                             
______________________________________                                    
After the ANDing operation, the microcontroller having a resultant value less than the original mask loses the arbitration. The winner of the arbitration continues to hold the /BUSY line and transmit as required. KEYNET processors losing the bus arbitration release the /BUSY line and try their transmission later.
An exception to this arbitration scheme is when the SCP 36 is involved in the collision. The SCP is assigned the highest priority on the KEYNET bus Thus, it will win the arbitration. In this case, the SCP 36 will hold the /BUSY line and retransmit its source byte and again verify that it was not corrupted on the KEYNET bus.
The procedure for initiating a transmission is illustrated in FIG. 8. In the first step 42 the initiating KEYNET processor checks the /BUSY line. If the /BUSY line is active low in step 44, this means another KEYNET processor has control of the KEYNET and the system proceeds to step 62. If the /BUSY line is inactive high the initiating KEYNET processor pulls the /BUSY line low in step 46. The source byte is then transmitted in step 48 and read back in step 50 to determine its accuracy. If the received byte is determined to be different than the transmitted byte in step 52, the system assumes there is a bus contention and proceeds to step 66 where the contending processor arbitrates for bus control. In step 68 the winner of the arbitration proceeds to step 48 and transmits the source byte. The loser of the arbitration proceeds to step 60 and releases the /BUSY line.
If the transmitted source byte is determined to be the same as the received source byte in step 54, the DEST/CMD byte is transmitted. Next, in step 56, data byte(s) are transmitted as required. As previously mentioned, more than one data packet can be transmitted while a particular KEYNET processor has control of the KEYNET bus. Thus, if there are additional data packets to be transmitted as determined in step 58, the system repeats steps 48-58. If there are no additional data packets to be transmitted, the KEYNET processor releases the /BUSY line in step 60 and either returns to its main task in step 62 and returns to step 42.
PACKET RECEPTION
All KEYNET processors on the KEYNET bus are required to receive the SOURCE byte and DEST/CMD byte of every data packet transmitted. This is necessary to insure that each KEYNET processor is able to determine the source of the transmission when they are the addressed processor. In the event that the source processor is requesting a value to be returned, the addressed processor must know where the value is to be returned.
The optical data bytes of the data packet are only received by the addressed processors. In order to implement the scheme of selecting which bytes in the packet are seen by the individual processor, KEYNET takes advantage of a special microprocessor communications feature in the Intel 8051 serial port. The details of this feature are described in detail in Intel 1989 INTEL 8-bit EMBEDDED CONTROLLER HANDBOOK, page 8-35, hereby incorporated by reference.
The procedure for receiving a serial data byte is shown in FIG. 9. In the first steps 70 and 71, the serial ports of the KEYNET processors 20, 22 and 24 are set up so that the receive interrupt RI is tripped only when the 9th bit is a 1. In the next step 72, when a receive interrupt RI is received, the SOURCE byte is stored. In step 74, the serial port is set such that any incoming byte trips the receive interrupt RI. After the receive interrupt RI is tripped, as indicated by step 76, the 9th bit is inspected in steps 77 and 78. If the 9th bit is a "0", this indicates that is DEST/CMD byte causing the system to proceed to step 82. If not, the system assumes it is another SOURCE byte which must be stored in place of the previous SOURCE byte and thus proceeds to step 80. Once the SOURCE byte is stored, system proceeds back to step 76. In step 82, bit D7 of the SOURCE byte is inspected to determine it if is a global address. If it is a global address, the system proceeds to step 96, where the DEST/CMD bits D6-D0 are read and the command is executed. Otherwise, the system assumes that it is a local processor address. If it is a local processor address, the SOURCE bits D6-D4 are read in step 86 to determine the local processor address. For processors which are not addressed, as indicated by step 88, they return to step 70. For the local processor that is addressed, the source bits D3-D0 are read in step 90 to obtain the command/function nibble. In step 92, the command/function nibble is interpreted and executed as required. If no data bytes are pending, as indicated by step 94, the system returns to step 70 where the serial port is set up to trip the receive interrupt only on a source address byte (i.e., when the 9th bit is 1). If data bytes are expected, the 9th bit of the expected data byte is read in steps 100 and 101 to determine if it is a new data byte or a new SOURCE byte. If it is a DATA byte, then it is processed in step 102 and the system returns back to step 94. Otherwise, if it is a SOURCE bit as determined in step 101, the system returns to step 71.
Obviously, many functions and variations of the present invention are possible in light of the above teachings. Thus it is to be understood that within the scope of the appended claims, the invention may be practiced otherwise than as specifically designated above.

Claims (22)

What is claimed and desired to be secured by a Letters Patent is:
1. A personal computer comprising:
a central processing unit for processing data, disposed within said personal computer;
one or more peripheral devices for communicating with said CPU; and
means for interfacing said peripheral devices with said CPU, said interfacing means including a system control processor (SCP) for communicating with said CPU and performing one or more other predetermined functions and one or more dedicated processors, said SCP and said one or more dedicated processors disposed within said personal computer, said interfacing means further including first communication means for allowing said SCP to communicate with said CPU, said first communication means including means for controlling the transfer of data between said SCP and said CPU, each of said dedicated processors being connected to at least one of said peripheral devices, said interfacing means further including second communication means for allowing communication between each of said dedicated processors and their associated peripheral devices, said second communication means including means for controlling the transfer of data between said peripheral devices and said SCP, said second communication means including means for allowing said SCP and said one or more dedicated processors to be interconnected by way of a serial bus forming a network; and third communication means for allowing and controlling serial communication between said dedicated processors and said SCP along said network.
2. A computer system as recited in claim 1, wherein said first allowing means includes first communication means for allowing said dedicated processors and said peripheral devices to communicate in a first protocol.
3. A computer system as recited in claim 2, wherein said second allowing means includes second communication means for allowing said dedicated processors and said system control processor to communicate in a second protocol.
4. A computer system as recited in claim 3, wherein said first protocol is different from said second protocol.
5. A computer system as recited in claim 4, wherein said second protocol is relatively faster than said first protocol.
6. A computer system as recited in claim 3, wherein said second protocol enables said dedicated processors to communicate with variable length, data packets.
7. A computer system as recited in claim 3, wherein said second protocol comprises a data packet which includes a source byte and a destination/command byte.
8. A computer system as recited in claim 7, further including means for allowing said destination/command byte to be received by one dedicated processor at one time.
9. A computer system as recited in claim 7, further including means for allowing said destination/command to be received by more than one dedicated processors at one time.
10. A computer system as recited in claim 7, wherein said second protocol further includes one or more data bytes.
11. A computer system as recited in claim 7, further including means for allowing multiple data packets to be transmitted by a single dedicated processor in succession.
12. A computer system as recited in claim 1, further including means for arbitrating between said dedicated processors when more than one processor is contending for the network at substantially the same time.
13. A computer system as recited in claim 12, further including means for providing a unique mask, for each dedicated processor.
14. A computer system as recited in claim 12, further including means for detecting collisions between contending dedicated processors.
15. A computer system as recited in claim 12, further including means for assigning a predetermined priority to each dedicated processor.
16. A computer system as recited in claim 15, wherein said arbitrating means includes determining means for determining the dedicated processor with the highest priority and for awarding control of the network to the dedicated processor having the highest priority.
17. A computer system as recited in claim 15, further including means for assigning the highest priority to the system control processor.
18. A personal computer comprising:
a central processing unit (CPU) for processing data, disposed within said personal computer;
a plurality of peripheral devices for communicating with said CPU:
a plurality of dedicated processors disposed within said personal computer, each of said dedicated processors being connected to one of said peripheral devices, said dedicated processors being interconnected with each other by way of a serial bus forming a network;
a system control processor (SCP) disposed within said personal computer, connected to said CPU and said network for communicating with said dedicated processors and said CPU and performing one or more other predetermined functions;
means for arbitrating between said dedicated processors during a condition when said dedicated processors are contending for said network at substantially the same time and for allowing only one of said dedicated processors to communicate with the network at one time; and
means for allowing and controlling communication between said dedicated processors and said peripheral devices and between said SCP, said dedicated processors and said network and between said SCP and said CPU.
19. A computer system as recited in claim 18, further including means for allowing communication between said dedicated processors.
20. A computer system as recited in claim 19, wherein said allowing means includes first means for allowing each dedicated processor to communicate with one other dedicated processor at one time.
21. A computer system as recited in claim 19, wherein said allowing means includes second means for allowing each dedicated processor to communicate with all of the other dedicated processors at one time.
22. A computer system as recited in claim 18, wherein said serial bus is a two-line bus which includes a transmit/receive line and a BUSY line.
US08/019,997 1989-12-29 1993-02-17 Personal computer having dedicated processors for peripheral devices interconnected to the CPU by way of a system control processor Expired - Fee Related US5280621A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US08/019,997 US5280621A (en) 1989-12-29 1993-02-17 Personal computer having dedicated processors for peripheral devices interconnected to the CPU by way of a system control processor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US45904289A 1989-12-29 1989-12-29
US08/019,997 US5280621A (en) 1989-12-29 1993-02-17 Personal computer having dedicated processors for peripheral devices interconnected to the CPU by way of a system control processor

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US45904289A Continuation 1989-12-29 1989-12-29

Publications (1)

Publication Number Publication Date
US5280621A true US5280621A (en) 1994-01-18

Family

ID=26692865

Family Applications (1)

Application Number Title Priority Date Filing Date
US08/019,997 Expired - Fee Related US5280621A (en) 1989-12-29 1993-02-17 Personal computer having dedicated processors for peripheral devices interconnected to the CPU by way of a system control processor

Country Status (1)

Country Link
US (1) US5280621A (en)

Cited By (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5487170A (en) * 1993-12-16 1996-01-23 International Business Machines Corporation Data processing system having dynamic priority task scheduling capabilities
WO1996002036A1 (en) * 1994-07-07 1996-01-25 Elonex Technologies, Inc. Micro personal digital assistant
US5530891A (en) * 1994-05-31 1996-06-25 Advanced Micro Devices System management interrupt mechanism within a symmetrical multiprocessing system
US5799205A (en) * 1992-11-13 1998-08-25 Mannesmann Aktiengesellschaft Transfer system for data exchange using two active central processing units directly connected together parallel to serial system bus directly connecting CPUs to dispersed devices
US5839095A (en) * 1996-06-07 1998-11-17 Liu; Johny Multimedia control center for controlling peripheral devices of a personal computer
US5862357A (en) * 1996-07-02 1999-01-19 Sun Microsystems, Inc. Hierarchical SMP computer system
US6009541A (en) * 1997-10-01 1999-12-28 Micron Electronics, Inc. Apparatus for performing an extensive diagnostic test in conjunction with a bios test routine
US6065053A (en) * 1997-10-01 2000-05-16 Micron Electronics, Inc. System for resetting a server
EP1000404A1 (en) * 1996-09-17 2000-05-17 Marathon Technologies Corporation Fault resilient/fault tolerant computing
US6073255A (en) * 1997-05-13 2000-06-06 Micron Electronics, Inc. Method of reading system log
US6088816A (en) * 1997-10-01 2000-07-11 Micron Electronics, Inc. Method of displaying system status
US6122746A (en) * 1997-05-13 2000-09-19 Micron Electronics, Inc. System for powering up and powering down a server
US6122758A (en) * 1997-05-13 2000-09-19 Micron Electronics, Inc. System for mapping environmental resources to memory for program access
US6134668A (en) * 1997-05-13 2000-10-17 Micron Electronics, Inc. Method of selective independent powering of portion of computer system through remote interface from remote interface power supply
US6134673A (en) * 1997-05-13 2000-10-17 Micron Electronics, Inc. Method for clustering software applications
US6138179A (en) * 1997-10-01 2000-10-24 Micron Electronics, Inc. System for automatically partitioning and formatting a primary hard disk for installing software in which selection of extended partition size is not related to size of hard disk
US6138250A (en) * 1997-05-13 2000-10-24 Micron Electronics, Inc. System for reading system log
US6145098A (en) * 1997-05-13 2000-11-07 Micron Electronics, Inc. System for displaying system status
US6148355A (en) * 1997-05-13 2000-11-14 Micron Electronics, Inc. Configuration management method for hot adding and hot replacing devices
US6154835A (en) * 1997-10-01 2000-11-28 Micron Electronics, Inc. Method for automatically configuring and formatting a computer system and installing software
US6161162A (en) * 1993-12-08 2000-12-12 Nec Corporation Multiprocessor system for enabling shared access to a memory
US6163853A (en) * 1997-05-13 2000-12-19 Micron Electronics, Inc. Method for communicating a software-generated pulse waveform between two servers in a network
US6163825A (en) * 1997-05-13 2000-12-19 Micron Electronics, Inc. Method for hot adding a network adapter by identifying and executing the adapter driver based upon the logical board number of the network adapter
US6163849A (en) * 1997-05-13 2000-12-19 Micron Electronics, Inc. Method of powering up or powering down a server to a maintenance state
US6170067B1 (en) 1997-05-13 2001-01-02 Micron Technology, Inc. System for automatically reporting a system failure in a server
US6170028B1 (en) 1997-05-13 2001-01-02 Micron Electronics, Inc. Method for hot swapping a programmable network adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US6173346B1 (en) 1997-05-13 2001-01-09 Micron Electronics, Inc. Method for hot swapping a programmable storage adapter using a programmable processor for selectively enabling or disabling power to adapter slot in response to respective request signals
US6175490B1 (en) 1997-10-01 2001-01-16 Micron Electronics, Inc. Fault tolerant computer system
US6179486B1 (en) 1997-05-13 2001-01-30 Micron Electronics, Inc. Method for hot add of a mass storage adapter on a system including a dynamically loaded adapter driver
US6182180B1 (en) 1997-05-13 2001-01-30 Micron Electronics, Inc. Apparatus for interfacing buses
US6192434B1 (en) 1997-05-13 2001-02-20 Micron Electronics, Inc System for hot swapping a programmable adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US6195717B1 (en) 1997-05-13 2001-02-27 Micron Electronics, Inc. Method of expanding bus loading capacity
US6199173B1 (en) 1997-10-01 2001-03-06 Micron Electronics, Inc. Method for mapping environmental resources to memory for program access
US6202111B1 (en) 1997-05-13 2001-03-13 Micron Electronics, Inc. Method for the hot add of a network adapter on a system including a statically loaded adapter driver
US6202160B1 (en) 1997-05-13 2001-03-13 Micron Electronics, Inc. System for independent powering of a computer system
US6205503B1 (en) 1998-07-17 2001-03-20 Mallikarjunan Mahalingam Method for the hot swap and add of input/output platforms and devices
US6212585B1 (en) 1997-10-01 2001-04-03 Micron Electronics, Inc. Method of automatically configuring a server after hot add of a device
US6219734B1 (en) 1997-05-13 2001-04-17 Micron Electronics, Inc. Method for the hot add of a mass storage adapter on a system including a statically loaded adapter driver
US6223234B1 (en) 1998-07-17 2001-04-24 Micron Electronics, Inc. Apparatus for the hot swap and add of input/output platforms and devices
US6237053B1 (en) * 1998-06-30 2001-05-22 Symbol Technologies, Inc. Configurable operating system having multiple data conversion applications for I/O connectivity
US6243773B1 (en) 1997-05-13 2001-06-05 Micron Electronics, Inc. Configuration management system for hot adding and hot replacing devices
US6243838B1 (en) 1997-05-13 2001-06-05 Micron Electronics, Inc. Method for automatically reporting a system failure in a server
US6247080B1 (en) 1997-05-13 2001-06-12 Micron Electronics, Inc. Method for the hot add of devices
US6247079B1 (en) * 1997-05-13 2001-06-12 Micron Electronics, Inc Apparatus for computer implemented hot-swap and hot-add
US6249834B1 (en) 1997-05-13 2001-06-19 Micron Technology, Inc. System for expanding PCI bus loading capacity
US6249828B1 (en) 1997-05-13 2001-06-19 Micron Electronics, Inc. Method for the hot swap of a mass storage adapter on a system including a statically loaded adapter driver
US6249885B1 (en) * 1997-05-13 2001-06-19 Karl S. Johnson Method for managing environmental conditions of a distributed processor system
US6253334B1 (en) 1997-05-13 2001-06-26 Micron Electronics, Inc. Three bus server architecture with a legacy PCI bus and mirrored I/O PCI buses
US6263387B1 (en) 1997-10-01 2001-07-17 Micron Electronics, Inc. System for automatically configuring a server after hot add of a device
US6266721B1 (en) 1997-05-13 2001-07-24 Micron Electronics, Inc. System architecture for remote access and control of environmental management
US6269417B1 (en) 1997-05-13 2001-07-31 Micron Technology, Inc. Method for determining and displaying the physical slot number of an expansion bus device
US6269412B1 (en) 1997-05-13 2001-07-31 Micron Technology, Inc. Apparatus for recording information system events
US6292905B1 (en) 1997-05-13 2001-09-18 Micron Technology, Inc. Method for providing a fault tolerant network using distributed server processes to remap clustered network resources to other servers during server failure
US6304929B1 (en) 1997-05-13 2001-10-16 Micron Electronics, Inc. Method for hot swapping a programmable adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US6324608B1 (en) 1997-05-13 2001-11-27 Micron Electronics Method for hot swapping of network components
US6330690B1 (en) 1997-05-13 2001-12-11 Micron Electronics, Inc. Method of resetting a server
US6341322B1 (en) * 1997-05-13 2002-01-22 Micron Electronics, Inc. Method for interfacing two buses
US6363497B1 (en) 1997-05-13 2002-03-26 Micron Technology, Inc. System for clustering software applications
US6418492B1 (en) 1997-05-13 2002-07-09 Micron Electronics Method for computer implemented hot-swap and hot-add
US6499073B1 (en) 1997-05-13 2002-12-24 Micron Electronics, Inc. System using programmable processor for selectively enabling or disabling power to adapter in response to respective request signals
US6523079B2 (en) 1993-02-19 2003-02-18 Elonex Ip Holdings Ltd Micropersonal digital assistant
US20030080189A1 (en) * 2001-10-26 2003-05-01 Symbol Technologies, Inc. Bar code reader including linear sensor array and hybrid camera and bar code reader
US20040153786A1 (en) * 1997-05-13 2004-08-05 Johnson Karl S. Diagnostic and managing distributed processor system
EP1688851A2 (en) 1996-08-02 2006-08-09 Symbol Technologies, Inc. Data retrieval system and method
US7206849B1 (en) 1998-10-05 2007-04-17 Symbol Technologies, Inc. Communication in a wireless communications network when a mobile computer terminal may be unreachable

Citations (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4181974A (en) * 1978-01-05 1980-01-01 Honeywell Information Systems, Inc. System providing multiple outstanding information requests
US4200930A (en) * 1977-05-23 1980-04-29 Burroughs Corporation Adapter cluster module for data communications subsystem
US4417304A (en) * 1979-07-30 1983-11-22 International Business Machines Corporation Synchronous cycle steal mechanism for transferring data between a processor storage unit and a separate data handling unit
US4418382A (en) * 1980-05-06 1983-11-29 Allied Corporation Information exchange processor
US4470114A (en) * 1982-03-01 1984-09-04 Burroughs Corporation High speed interconnection network for a cluster of processors
US4485438A (en) * 1982-06-28 1984-11-27 Myrmo Erik R High transfer rate between multi-processor units
US4631666A (en) * 1982-10-25 1986-12-23 Burroughs Corporation Data transfer network for variable protocol management
US4654788A (en) * 1983-06-15 1987-03-31 Honeywell Information Systems Inc. Asynchronous multiport parallel access memory system for use in a single board computer system
US4663706A (en) * 1982-10-28 1987-05-05 Tandem Computers Incorporated Multiprocessor multisystem communications network
US4672570A (en) * 1986-09-05 1987-06-09 The United States Of America As Represented By The Secretary Of The Air Force Network interface module and method
US4720784A (en) * 1983-10-18 1988-01-19 Thiruvengadam Radhakrishnan Multicomputer network
US4736319A (en) * 1985-05-15 1988-04-05 International Business Machines Corp. Interrupt mechanism for multiprocessing system having a plurality of interrupt lines in both a global bus and cell buses
US4783733A (en) * 1983-11-14 1988-11-08 Tandem Computers Incorporated Fault tolerant communications controller system
US4792896A (en) * 1983-12-07 1988-12-20 516277 Ontario Limited Storage controller emulator providing transparent resource sharing in a computer system
US4807184A (en) * 1986-08-11 1989-02-21 Ltv Aerospace Modular multiple processor architecture using distributed cross-point switch
US4942606A (en) * 1989-02-07 1990-07-17 Compaq Computer Corporation Computer with improved keyboard password functions
US4961140A (en) * 1988-06-29 1990-10-02 International Business Machines Corporation Apparatus and method for extending a parallel synchronous data and message bus
US4972368A (en) * 1988-03-04 1990-11-20 Stallion Technologies, Pty. Ltd. Intelligent serial I/O subsystem
US4974166A (en) * 1987-05-18 1990-11-27 Asyst Technologies, Inc. Processing systems with intelligent article tracking
US4994963A (en) * 1988-11-01 1991-02-19 Icon Systems International, Inc. System and method for sharing resources of a host computer among a plurality of remote computers
US5001704A (en) * 1988-02-09 1991-03-19 Mcdonnell Douglas Corporation Multipurpose bus interface
US5060140A (en) * 1986-01-16 1991-10-22 Jupiter Technology Inc. Universal programmable data communication connection system
US5086385A (en) * 1989-01-31 1992-02-04 Custom Command Systems Expandable home automation system
US5121382A (en) * 1989-10-11 1992-06-09 Digital Equipment Corporation Station-to-station full duplex communication in a communications network

Patent Citations (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4200930A (en) * 1977-05-23 1980-04-29 Burroughs Corporation Adapter cluster module for data communications subsystem
US4181974A (en) * 1978-01-05 1980-01-01 Honeywell Information Systems, Inc. System providing multiple outstanding information requests
US4417304A (en) * 1979-07-30 1983-11-22 International Business Machines Corporation Synchronous cycle steal mechanism for transferring data between a processor storage unit and a separate data handling unit
US4418382A (en) * 1980-05-06 1983-11-29 Allied Corporation Information exchange processor
US4470114A (en) * 1982-03-01 1984-09-04 Burroughs Corporation High speed interconnection network for a cluster of processors
US4485438A (en) * 1982-06-28 1984-11-27 Myrmo Erik R High transfer rate between multi-processor units
US4631666A (en) * 1982-10-25 1986-12-23 Burroughs Corporation Data transfer network for variable protocol management
US4663706A (en) * 1982-10-28 1987-05-05 Tandem Computers Incorporated Multiprocessor multisystem communications network
US4654788A (en) * 1983-06-15 1987-03-31 Honeywell Information Systems Inc. Asynchronous multiport parallel access memory system for use in a single board computer system
US4720784A (en) * 1983-10-18 1988-01-19 Thiruvengadam Radhakrishnan Multicomputer network
US4783733A (en) * 1983-11-14 1988-11-08 Tandem Computers Incorporated Fault tolerant communications controller system
US4792896A (en) * 1983-12-07 1988-12-20 516277 Ontario Limited Storage controller emulator providing transparent resource sharing in a computer system
US4736319A (en) * 1985-05-15 1988-04-05 International Business Machines Corp. Interrupt mechanism for multiprocessing system having a plurality of interrupt lines in both a global bus and cell buses
US5060140A (en) * 1986-01-16 1991-10-22 Jupiter Technology Inc. Universal programmable data communication connection system
US4807184A (en) * 1986-08-11 1989-02-21 Ltv Aerospace Modular multiple processor architecture using distributed cross-point switch
US4672570A (en) * 1986-09-05 1987-06-09 The United States Of America As Represented By The Secretary Of The Air Force Network interface module and method
US4974166A (en) * 1987-05-18 1990-11-27 Asyst Technologies, Inc. Processing systems with intelligent article tracking
US5001704A (en) * 1988-02-09 1991-03-19 Mcdonnell Douglas Corporation Multipurpose bus interface
US4972368A (en) * 1988-03-04 1990-11-20 Stallion Technologies, Pty. Ltd. Intelligent serial I/O subsystem
US4961140A (en) * 1988-06-29 1990-10-02 International Business Machines Corporation Apparatus and method for extending a parallel synchronous data and message bus
US4994963A (en) * 1988-11-01 1991-02-19 Icon Systems International, Inc. System and method for sharing resources of a host computer among a plurality of remote computers
US5086385A (en) * 1989-01-31 1992-02-04 Custom Command Systems Expandable home automation system
US4942606A (en) * 1989-02-07 1990-07-17 Compaq Computer Corporation Computer with improved keyboard password functions
US5121382A (en) * 1989-10-11 1992-06-09 Digital Equipment Corporation Station-to-station full duplex communication in a communications network

Cited By (95)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5799205A (en) * 1992-11-13 1998-08-25 Mannesmann Aktiengesellschaft Transfer system for data exchange using two active central processing units directly connected together parallel to serial system bus directly connecting CPUs to dispersed devices
US20050041385A1 (en) * 1993-02-19 2005-02-24 Dan Kikinis Micro personal digital assistant with a compressed BIOS system
US6523079B2 (en) 1993-02-19 2003-02-18 Elonex Ip Holdings Ltd Micropersonal digital assistant
US6161162A (en) * 1993-12-08 2000-12-12 Nec Corporation Multiprocessor system for enabling shared access to a memory
US5487170A (en) * 1993-12-16 1996-01-23 International Business Machines Corporation Data processing system having dynamic priority task scheduling capabilities
US5530891A (en) * 1994-05-31 1996-06-25 Advanced Micro Devices System management interrupt mechanism within a symmetrical multiprocessing system
WO1996002036A1 (en) * 1994-07-07 1996-01-25 Elonex Technologies, Inc. Micro personal digital assistant
US5839095A (en) * 1996-06-07 1998-11-17 Liu; Johny Multimedia control center for controlling peripheral devices of a personal computer
US5862357A (en) * 1996-07-02 1999-01-19 Sun Microsystems, Inc. Hierarchical SMP computer system
EP1688851A2 (en) 1996-08-02 2006-08-09 Symbol Technologies, Inc. Data retrieval system and method
EP1000404A1 (en) * 1996-09-17 2000-05-17 Marathon Technologies Corporation Fault resilient/fault tolerant computing
US6205565B1 (en) 1996-09-17 2001-03-20 Marathon Technologies Corporation Fault resilient/fault tolerant computing
EP1000404A4 (en) * 1996-09-17 2000-11-08 Marathon Techn Corp Fault resilient/fault tolerant computing
US6249834B1 (en) 1997-05-13 2001-06-19 Micron Technology, Inc. System for expanding PCI bus loading capacity
US6292905B1 (en) 1997-05-13 2001-09-18 Micron Technology, Inc. Method for providing a fault tolerant network using distributed server processes to remap clustered network resources to other servers during server failure
US8468372B2 (en) 1997-05-13 2013-06-18 Round Rock Research, Llc Diagnostic and managing distributed processor system
US6138250A (en) * 1997-05-13 2000-10-24 Micron Electronics, Inc. System for reading system log
US6145098A (en) * 1997-05-13 2000-11-07 Micron Electronics, Inc. System for displaying system status
US6134673A (en) * 1997-05-13 2000-10-17 Micron Electronics, Inc. Method for clustering software applications
US6148355A (en) * 1997-05-13 2000-11-14 Micron Electronics, Inc. Configuration management method for hot adding and hot replacing devices
US20100146346A1 (en) * 1997-05-13 2010-06-10 Micron Technology, Inc. Diagnostic and managing distributed processor system
US6134668A (en) * 1997-05-13 2000-10-17 Micron Electronics, Inc. Method of selective independent powering of portion of computer system through remote interface from remote interface power supply
US6163853A (en) * 1997-05-13 2000-12-19 Micron Electronics, Inc. Method for communicating a software-generated pulse waveform between two servers in a network
US6163825A (en) * 1997-05-13 2000-12-19 Micron Electronics, Inc. Method for hot adding a network adapter by identifying and executing the adapter driver based upon the logical board number of the network adapter
US6163849A (en) * 1997-05-13 2000-12-19 Micron Electronics, Inc. Method of powering up or powering down a server to a maintenance state
US6170067B1 (en) 1997-05-13 2001-01-02 Micron Technology, Inc. System for automatically reporting a system failure in a server
US6170028B1 (en) 1997-05-13 2001-01-02 Micron Electronics, Inc. Method for hot swapping a programmable network adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US6173346B1 (en) 1997-05-13 2001-01-09 Micron Electronics, Inc. Method for hot swapping a programmable storage adapter using a programmable processor for selectively enabling or disabling power to adapter slot in response to respective request signals
US7669064B2 (en) 1997-05-13 2010-02-23 Micron Technology, Inc. Diagnostic and managing distributed processor system
US6179486B1 (en) 1997-05-13 2001-01-30 Micron Electronics, Inc. Method for hot add of a mass storage adapter on a system including a dynamically loaded adapter driver
US6182180B1 (en) 1997-05-13 2001-01-30 Micron Electronics, Inc. Apparatus for interfacing buses
US6192434B1 (en) 1997-05-13 2001-02-20 Micron Electronics, Inc System for hot swapping a programmable adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US6195717B1 (en) 1997-05-13 2001-02-27 Micron Electronics, Inc. Method of expanding bus loading capacity
US7552364B2 (en) 1997-05-13 2009-06-23 Micron Technology, Inc. Diagnostic and managing distributed processor system
US6202111B1 (en) 1997-05-13 2001-03-13 Micron Electronics, Inc. Method for the hot add of a network adapter on a system including a statically loaded adapter driver
US6202160B1 (en) 1997-05-13 2001-03-13 Micron Electronics, Inc. System for independent powering of a computer system
US7451343B2 (en) 1997-05-13 2008-11-11 Micron Technology, Inc. System and method for communicating a software-generated pulse waveform between two servers in a network
US6122758A (en) * 1997-05-13 2000-09-19 Micron Electronics, Inc. System for mapping environmental resources to memory for program access
US7444550B2 (en) 1997-05-13 2008-10-28 Micron Technology, Inc. System and method for communicating a software-generated pulse waveform between two servers in a network
US6219734B1 (en) 1997-05-13 2001-04-17 Micron Electronics, Inc. Method for the hot add of a mass storage adapter on a system including a statically loaded adapter driver
US7444537B2 (en) 1997-05-13 2008-10-28 Micron Technology, Inc. System and method for communicating a software-generated pulse waveform between two servers in a network
US7370225B2 (en) 1997-05-13 2008-05-06 Micron Technology, Inc. System and method for communicating a software-generated pulse waveform between two servers in a network
US6243773B1 (en) 1997-05-13 2001-06-05 Micron Electronics, Inc. Configuration management system for hot adding and hot replacing devices
US6243838B1 (en) 1997-05-13 2001-06-05 Micron Electronics, Inc. Method for automatically reporting a system failure in a server
US6247080B1 (en) 1997-05-13 2001-06-12 Micron Electronics, Inc. Method for the hot add of devices
US6247079B1 (en) * 1997-05-13 2001-06-12 Micron Electronics, Inc Apparatus for computer implemented hot-swap and hot-add
US7370226B2 (en) 1997-05-13 2008-05-06 Micron Technology, Inc. System and method for communicating a software-generated pulse waveform between two servers in a network
US6249828B1 (en) 1997-05-13 2001-06-19 Micron Electronics, Inc. Method for the hot swap of a mass storage adapter on a system including a statically loaded adapter driver
US6249885B1 (en) * 1997-05-13 2001-06-19 Karl S. Johnson Method for managing environmental conditions of a distributed processor system
US6253334B1 (en) 1997-05-13 2001-06-26 Micron Electronics, Inc. Three bus server architecture with a legacy PCI bus and mirrored I/O PCI buses
US7263570B2 (en) 1997-05-13 2007-08-28 Micron Technology, Inc. Method of providing an interface to a plurality of peripheral devices using bus adapter chips
US6266721B1 (en) 1997-05-13 2001-07-24 Micron Electronics, Inc. System architecture for remote access and control of environmental management
US6269417B1 (en) 1997-05-13 2001-07-31 Micron Technology, Inc. Method for determining and displaying the physical slot number of an expansion bus device
US6269412B1 (en) 1997-05-13 2001-07-31 Micron Technology, Inc. Apparatus for recording information system events
US20070101193A1 (en) * 1997-05-13 2007-05-03 Johnson Karl S Diagnostic and managing distributed processor system
US6304929B1 (en) 1997-05-13 2001-10-16 Micron Electronics, Inc. Method for hot swapping a programmable adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US6324608B1 (en) 1997-05-13 2001-11-27 Micron Electronics Method for hot swapping of network components
US6330690B1 (en) 1997-05-13 2001-12-11 Micron Electronics, Inc. Method of resetting a server
US6332202B1 (en) 1997-05-13 2001-12-18 Micron Technology, Inc. Method of remote access and control of environmental conditions
US6341322B1 (en) * 1997-05-13 2002-01-22 Micron Electronics, Inc. Method for interfacing two buses
US6363497B1 (en) 1997-05-13 2002-03-26 Micron Technology, Inc. System for clustering software applications
US6418492B1 (en) 1997-05-13 2002-07-09 Micron Electronics Method for computer implemented hot-swap and hot-add
US6484226B2 (en) 1997-05-13 2002-11-19 Micron Technology, Inc. System and method for the add or swap of an adapter on an operating computer
US6499073B1 (en) 1997-05-13 2002-12-24 Micron Electronics, Inc. System using programmable processor for selectively enabling or disabling power to adapter in response to respective request signals
US6523131B1 (en) 1997-05-13 2003-02-18 Micron Technology, Inc. Method for communicating a software-generated pulse waveform between two servers in a network
US6073255A (en) * 1997-05-13 2000-06-06 Micron Electronics, Inc. Method of reading system log
US7065600B2 (en) 1997-05-13 2006-06-20 Micron Technology, Inc. Method of providing an interface to a plurality of peripheral devices using bus adapter chips
US6598173B1 (en) 1997-05-13 2003-07-22 Micron Technology, Inc. Method of remote access and control of environmental conditions
US6604207B2 (en) 1997-05-13 2003-08-05 Micron Technology, Inc. System architecture for remote access and control of environmental management
US6697963B1 (en) 1997-05-13 2004-02-24 Micron Technology, Inc. Method of updating a system environmental setting
US6701453B2 (en) 1997-05-13 2004-03-02 Micron Technology, Inc. System for clustering software applications
US6742069B2 (en) 1997-05-13 2004-05-25 Micron Technology, Inc. Method of providing an interface to a plurality of peripheral devices using bus adapter chips
US20040153786A1 (en) * 1997-05-13 2004-08-05 Johnson Karl S. Diagnostic and managing distributed processor system
US20040210701A1 (en) * 1997-05-13 2004-10-21 Papa Stephen E.J. Method of providing an interface to a plurality of peripheral devices using bus adapter chips
US6122746A (en) * 1997-05-13 2000-09-19 Micron Electronics, Inc. System for powering up and powering down a server
US6895526B2 (en) 1997-05-13 2005-05-17 Micron Technology, Inc. System and method for communicating a software-generated pulse waveform between two servers in a network
US20050229027A1 (en) * 1997-05-13 2005-10-13 Bruce Findlay System and method for communicating a software-generated pulse waveform between two servers in a network
US20050229026A1 (en) * 1997-05-13 2005-10-13 Bruce Findlay System and method for communicating a software-generated pulse waveform between two servers in a network
US20050229028A1 (en) * 1997-05-13 2005-10-13 Bruce Findlay System and method for communicating a software-generated pulse waveform between two servers in a network
US6212585B1 (en) 1997-10-01 2001-04-03 Micron Electronics, Inc. Method of automatically configuring a server after hot add of a device
US6138179A (en) * 1997-10-01 2000-10-24 Micron Electronics, Inc. System for automatically partitioning and formatting a primary hard disk for installing software in which selection of extended partition size is not related to size of hard disk
US6154835A (en) * 1997-10-01 2000-11-28 Micron Electronics, Inc. Method for automatically configuring and formatting a computer system and installing software
US6009541A (en) * 1997-10-01 1999-12-28 Micron Electronics, Inc. Apparatus for performing an extensive diagnostic test in conjunction with a bios test routine
US6175490B1 (en) 1997-10-01 2001-01-16 Micron Electronics, Inc. Fault tolerant computer system
US6088816A (en) * 1997-10-01 2000-07-11 Micron Electronics, Inc. Method of displaying system status
US6263387B1 (en) 1997-10-01 2001-07-17 Micron Electronics, Inc. System for automatically configuring a server after hot add of a device
US6065053A (en) * 1997-10-01 2000-05-16 Micron Electronics, Inc. System for resetting a server
US6199173B1 (en) 1997-10-01 2001-03-06 Micron Electronics, Inc. Method for mapping environmental resources to memory for program access
US6237053B1 (en) * 1998-06-30 2001-05-22 Symbol Technologies, Inc. Configurable operating system having multiple data conversion applications for I/O connectivity
US6996634B1 (en) 1998-06-30 2006-02-07 Symbol Technologies, Inc. Configurable operating system for control of a mobile I/O device
US6223234B1 (en) 1998-07-17 2001-04-24 Micron Electronics, Inc. Apparatus for the hot swap and add of input/output platforms and devices
US6205503B1 (en) 1998-07-17 2001-03-20 Mallikarjunan Mahalingam Method for the hot swap and add of input/output platforms and devices
US7206849B1 (en) 1998-10-05 2007-04-17 Symbol Technologies, Inc. Communication in a wireless communications network when a mobile computer terminal may be unreachable
US20030080189A1 (en) * 2001-10-26 2003-05-01 Symbol Technologies, Inc. Bar code reader including linear sensor array and hybrid camera and bar code reader
US7040538B2 (en) 2001-10-26 2006-05-09 Symbol Technologies, Inc. Bar code reader including linear sensor array and hybrid camera and bar code reader

Similar Documents

Publication Publication Date Title
US5280621A (en) Personal computer having dedicated processors for peripheral devices interconnected to the CPU by way of a system control processor
US4716523A (en) Multiple port integrated DMA and interrupt controller and arbitrator
US4751634A (en) Multiple port communications adapter apparatus
EP0013739B1 (en) Communication controller in a data processing system
US5587957A (en) Circuit for sharing a memory of a microcontroller with an external device
EP0518527B1 (en) Method of reducing wasted bus bandwidth in a computer system
JPH0257383B2 (en)
EP0167454B1 (en) System for controlling transfer of commands between processors
JPH0142415B2 (en)
EP0010187A1 (en) Input/output-system for a data processing system
CN116566761B (en) SPI dual-host sharing arbitration system and method
KR910001788B1 (en) Method and apparatus for interrupting transmission of multi processor system
CA2003571C (en) Communication command control system between cpus
JP2000049891A (en) Programmable logic controller and communication condition setting method and communication condition setting device therefor
JPH05153192A (en) High-speed transition signal communication system
JP2667909B2 (en) Elevator signal transmission method
EP0378398B1 (en) Data processing system with means for detecting status of data processing device receiving commands
CA1241761A (en) Interrupt driven prioritized work queue
EP0424658A2 (en) Computer system
EP0080369A2 (en) Peripheral unit adapted to monitor a low data rate serial input/output interface
JPH1091567A (en) Input/output interface extension device
GB2339369A (en) Controlling timing of transfer requests within a data processing apparatus
JPH05158723A (en) Abnormality diagnostic device for decentralized processing type controller
JPH03158924A (en) Printer controller
JPS62190544A (en) Higher link unit for programmable controller

Legal Events

Date Code Title Description
CC Certificate of correction
AS Assignment

Owner name: ZENITH DATA SYSTEMS CORPORATION, ILLINOIS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BARNES, BRIAN C.;REEL/FRAME:007226/0239

Effective date: 19940818

Owner name: ZENITH DATA SYSTEMS CORPORATION, ILLINOIS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:FOSTER, MARK J.;REEL/FRAME:007232/0133

Effective date: 19941122

Owner name: ZENITH DATA SYSTEMS CORPORATION, ILLINOIS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:GAUTHIER, LLOYD W.;REEL/FRAME:007226/0233

Effective date: 19940922

Owner name: ZENITH DATA SYSTEMS CORPORATION, ILLINOIS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:FAKHRUDDIN, SAIFUDDIN;DELISLE, DAVID J.;REEL/FRAME:007226/0227

Effective date: 19940815

Owner name: ZENITH DATA SYSTEMS CORPORATION, ILLINOIS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:VEIT, DAVID R.;REEL/FRAME:007235/0265

Effective date: 19941007

REMI Maintenance fee reminder mailed
LAPS Lapse for failure to pay maintenance fees
FP Lapsed due to failure to pay maintenance fee

Effective date: 19980121

AS Assignment

Owner name: PACKARD BELL NEC, INC., CALIFORNIA

Free format text: MERGER;ASSIGNOR:ZENITH DATA SYSTEMS CORPORATION;REEL/FRAME:009245/0518

Effective date: 19970320

AS Assignment

Owner name: SUMITOMO BANK OF NEW YORK TRUST COMPANY, NEW YORK

Free format text: SECURITY INTEREST;ASSIGNOR:PACKARD BELL NEC, INC.;REEL/FRAME:009479/0358

Effective date: 19970325

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

AS Assignment

Owner name: SUMITOMO BANK, THE, LIMITED, NEW YORK BRANCH, AS C

Free format text: TRANSFER OF SECURITY INTEREST;ASSIGNOR:SUMITOMO BANK OF NEW YORK TRUST COMPANY;REEL/FRAME:009748/0570

Effective date: 19990217

AS Assignment

Owner name: PACKARD BELL NEC, INC., CALIFORNIA

Free format text: TERMINATION OF SECURITY INTEREST;ASSIGNOR:SUMITOMO BANK LIMITED, THE, NEW YORK BRANCH, AS COLLATERAL AGENT FOR LENDER;REEL/FRAME:010231/0935

Effective date: 19990301

AS Assignment

Owner name: NEC CORPORATION, JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:PACKARD BELL NEC, INC.;REEL/FRAME:011007/0153

Effective date: 20000223

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362