Method and apparatus for upgrading a data processing system from a single processor system to a multiprocessor system
AssigneeAcer Incorporated
InventorsCheng-Lai Shen, Kuo-Piao Shih, Wen-Lu Liao
Life of this patent
Estimating the term…
Abstract
A data processing system includes a first central processing unit (CPU), at least one expansion port into which additional CPUs may be inserted, and a system controller. Interrupt circuitry coupled to said first CPU, said at least one expansion port, and said system controller, is configured to allow the dam processing system to operate as a multi-processor system, only one of the first and additional CPUs communicating with the system controller at any one time.
Claims25
A data processing system, comprising:
- a first central processing unit (CPU);
- an expansion port into which a second CPU chip may be directly inserted;
- a plurality of data buses;
- a first CPU control port coupled to one of said data buses and associated with said first CPU, said first CPU control port for receiving and interrupt request signals from and transmitting interrupt request signals to said expansion port when said second CPU is inserted therein;
- a bus controller coupled to said plurality of data buses, said bus controller comprising:
- a first coprocessor interface coupled to said first CPU, said first coprocessor interface generating an interrupt request signal in response to a first coprocessor error signal;
- an arbitrator coupled to said first coprocessor interface for receiving and arbitrating interrupt request signals from said first coprocessor interface and said first CPU control port;
- and
- an interrupt controller coupled to said arbitrator for determining the priority of a plurality of interrupt request signals and transmitting an interrupt command to said first CPU in response thereto;
- a second CPU control port coupled to one of said data buses and associated with said expansion port, said second CPU control port for receiving interrupt request signals from said first CPU and transmitting interrupt request signals to said expansion port when said second CPU is inserted therein;
- and
- a second coprocessor interface coupled to said expansion port, said second coprocessor interface generating an interrupt request signal in response to a second coprocessor error signal;
- wherein said data processing system is operable to run as a single processor system when said expansion port is empty, and a multiple processor system when said second CPU is inserted in said expansion port.
A data processing system, comprising:
- a first central processing unit (CPU);
- an expansion port into which a second CPU chip may be directly inserted;
- a CPU bus coupled to said first CPU and said expansion port;
- a CPU/local bus interface;
- a local bus coupled to said CPU bus by means of said CPU/local bus interface;
- a local/expansion bus interface;
- an expansion bus coupled to said local bus by means of said local/expansion bus interface;
- an expansion/peripheral bus interface;
- an internal peripheral bus coupled to said expansion bus by means of said expansion/peripheral bus interface;
- a first CPU control port coupled to said internal peripheral bus and associated with said first CPU, said first CPU control port for receiving interrupt request signals from and transmitting interrupt request signals to said expansion port when said second CPU is inserted therein;
- a bus controller coupled to said local bus, said expansion bus, and said internal peripheral bus, said bus controller comprising:
- a first coprocessor interface coupled to said first CPU by means of a first coprocessor error signal line and a first error ignore signal line, said first coprocessor interface generating an interrupt request signal in response to a first coprocessor error signal;
- an arbitrator coupled to said first coprocessor interface for receiving and arbitrating interrupt request signals from said first coprocessor interface and said first CPU control port;
- and
- an interrupt controller coupled to said arbitrator for determining the priority of a plurality of interrupt request signals and transmitting an interrupt command to said first CPU in response thereto;
- a second CPU control port coupled to said internal peripheral bus and associated with said expansion port, said second CPU control port for receiving interrupt request signals from said first CPU and transmitting interrupt request signals to said expansion port when said second CPU is inserted therein;
- a second coprocessor interface coupled to said expansion port by means of a second coprocessor error signal line and a second error ignore signal line, said second coprocessor interface generating an interrupt request signal in response to a second coprocessor error signal;
- a system controller coupled to said local bus;
- and
- a processor transferring circuit coupled to said system controller and said CPU bus, said processor transferring circuit for enabling said system controller to communicate with only one of said first and second CPUs at any one time when said second CPU is inserted into said expansion port;
- wherein said data processing system is operable to run as a single processor system when said expansion port is empty, and a multiple processor system when said second CPU is inserted in said expansion port.
A method for transmitting central processing unit (CPU) interrupts between CPUs in a data processing system, the data processing system having a first CPU and an expansion port in which a second CPU may be directly inserted, first and second CPU control ports, an arbitrator, and an interrupt controller, the method comprising the steps of:
- (1) inserting said second CPU into said expansion port;
- (2) transmitting a first interrupt signal from the second CPU to the first CPU control port;
- (3) transmitting a first interrupt request signal from the first CPU control port to the arbitrator in response to said first interrupt signal;
- (4) transmitting a first coprocessor error signal from the first CPU to the first coprocessor interface;
- (5) transmitting a first coprocessor interrupt request from the first coprocessor interface to the arbitrator in response to said first coprocessor error signal;
- (6) arbitrating said first interrupt request signal and said first coprocessor interrupt request, said arbitrating step generating an arbitration result;
- (7) transmitting a first interrupt command from the arbitrator to the interrupt controller in response to said arbitration result;
- (8) determining whether said first interrupt command originates from the interrupt controller;
- (9) determining whether said first interrupt command originates from a peripheral device;
- (10) determining whether said first interrupt command originates from the second CPU;
- (11) determining whether said first interrupt command is derived from said first coprocessor error signal;
- (12) transmitting said first interrupt command to the first CPU;
- (13) transmitting a second interrupt signal from the first CPU to the second CPU control port;
- (14) transmitting a second coprocessor error signal from the second CPU;
- (15) determining whether a second interrupt request signal originates from the second CPU control port;
- (16) determining whether said second interrupt request originates from the second coprocessor interface;
- and
- (17) transmitting a second interrupt command to the second CPU.
A data processing system, comprising:
- a first central processing unit (CPU);
- at least one expansion port into which at least one additional CPU chip may be directly inserted;
- a system controller;
- and
- interrupt circuitry coupled to said first CPU, said at least one expansion port, and said system controller, said interrupt circuitry being configured to allow the data processing system to operate as a multiple processor system when said at least one additional CPU chip is directly inserted in said expansion port and as a single processor system when said expansion port is empty, only one of said first and said at least one additional CPU communicating with said system controller at any one time.
Dependencies are inferred from the claim text.