Work station having a selectable CPU

Abstract: A work station includes a CPU (10), a bus interface unit (30) and a pair of control lines. The CPU (10) is selected from a group of CPUs differing in certain operational parameters. The bus interface circuit (30) is connected between an external bus (32) and the CPU (10). The control lines are connected to the bus interface circuit (30) and provide a signal indicating the type of CPU (10) connected to the bus interface circuit (30).

Description: This invention relates to work stations or similar data processing systems of the kind including a central processing unit (CPU). Known work stations use a specific CPU, e.g. an Intel 80386 microprocessor provided on a system board together with other chip units, such as memories, various peripheral interfaces and a system bus controller. The CPU and the above mentioned units communicate with each other, partially through buffers, over a local bus comprising control, address and data lines, all units being under tight control of the CPU through said local bus. In general, the system design is tailored for the specific CPU. This means that a large variety of different chip units are required for work stations using different CPU's. The local bus also is tailored for the specific configuration. In order to maintain compatibility with other systems, detailed specifications rigidly determine the features and functions of the various units and their I/O registers. Thus, it is difficult to modify the system for expansion and improved performance. EPA No.472274, International Business Machine Corporation, discloses an arrangement in which an adapter is used to adapt the pin array of an Intel 80386SX to the pin array of an 80386; the adapter connections are such that on three pins a signal is present only when the installed processor is the 80386SX, the presence or absence of a signal distinguishing one processor from the other, but only two processors can be distinguished. In IBM Technical Disclosure Bulletin Vol.32 No.4A September 1989, an arrangement is disclosed by which two processors can be distinguished from signals already existing in a gate array, but no application for such a distinguishing signal is disclosed. It is an object of the present invention to provide a work station having a flexibility which allows the utilization of various types of CPUs. Therefore, according to one aspect of the present invention, there is provided a work station, including a CPU connected to a local bus, characterized in that said CPU is selected from a group of CPUs differing in certain operational characteristics, in that a bus interface circuit is connected between an external bus and said local bus, and in that a self-contained functional block independent of said CPU is connected to control line means in said local bus to provide a control signal indicating the type of CPU connected to said interface circuit. According to another aspect of the present invention, there is provided a method for operating a work station, characterized by the steps of: providing a CPU selected from a group of CPUs differing in certain operational characteristics; providing a bust interface circuit connected between an external bus and a local bus connected to said CPU; and providing a self-contained functional block independent of said CPU and connected to said local bus so as to provide a control signal to the interface circuit indicating the type of CPU selected. In brief summary, a preferred embodiment of the invention provides a work station includes highly integrated, self-contained, functional blocks provided with intelligence and registers for flexibly combining with different types of CPUs. Each functional block serves as an active interface either for memory control (MIB), Micro Channel control (BIB) or local peripheral control (PIB). One or a plurality of MIBs or BIBs and one PIB communicate through a local bus with a selected CPU. The local bus is specifically extended as compared with the local bus of known work stations in order to provide more flexibility and improved performance. In particular, the local bus according to the invention comprises additional control lines CT(0..1) for identifying the type of processor which has access to the local bus (host P/M bus). Additionally, up to four MIBs or BIBs may reside on the host P/M bus using a corresponding request signal BREQb(0..3) and a corresponding grant signal BGNTb(0..3) which serve to select an active functional block. Since only BIBs (other than the CPU) may be bus masters, only they need a BREQb line. Each functional block comprises an internal transaction bus enabling communication between the individual units within the functional block. Each unit has an ID number which which it is addressable over specific lines of the internal transaction bus. Each functional block is provided with configuration registers for individual configuration in a setup procedure, the configuration depending inter alia on the host CPU frequency and the capacity of the memory. One embodiment of the present invention will now be described by way of example, with reference to the accompanying drawings, in which:- Figure 1 is a schematic overall view of a work station according to the invention illustrating the various functional blocks and the connections therebetween. Figures 2A-2E are a diagram showing in detail a host P/M bus as used to connect the various functional locks with each other; Figure 3 is a block diagram of a bus interface block BIB; Figure 4 is a block diagram of a memory interface block MIB; Figures 5A and 5B are a block diagram of a local peripheral and VGA interface PIB block; Figure 6 is a block diagram illustrating the provision of a plurality of BIBs and MIBs according to one form of the present invention. Figure 1 shows a preferred embodiment of a work station or data processing system according to the invention. Basically, a CPU 10 communicates through a host P/M bus 20 with functional blocks 30, 40, and 50, and in particular with one or a plurality of bus interface circuits or blocks (BIB) 30 for Micro Channel access, with one or a plurality of memory interface circuits or blocks (MIB) 40 for memory and cache control and with a local peripheral and video graphics array (VGA) interface circuit or block PIB 50. It should be noted that it is possible to provide more than one BIB 30 and more than MIB 40. An important feature of the invention is that CPU 10 may be selected from a group of CPUs differing in certain operational parameters. For example, in the disclosed architecture CPU 10 may be selected from the Intel 80386, 80386SX, and 80486 microprocessors. Also a coprocessor 12, such as a mathematical coprocessor Intel 80387, or 80387SX, may be added. The functional block BIB 30 is provided as an interface circuit connected between the host P/M bus 20 and a Micro Channel bus 32. Micro Channel 32 is provided with a plurality of slots 32A for attaching conventional adapter boards provided with a microprocessor which may act as a master in communication with other functional blocks of the work station. Furthermore, a control 32B is connected to the Micro Channel for controlling a fixed disk drive. The functional block MIB 40 forms an interface circuit between the host P/M bus 20 and a DRAM memory 42 which may have different sizes with a presently usual size of 16 MB up to 64 MB. Furthermore, MIB 40 controls access to the usual BIOS ROM memory 42A. Functional peripheral interface block (PIB) 50 forms an interface circuit between the host P/M bus 20 and various conventional system and peripheral units through peripheral control blocks 52. For example, there is provided a VGA control 52A, a peripheral controller 52B, a flexy disk control 52C, a keyboard/mouse control 52D, and a RTC/CMOS RAM unit 52E. All these peripheral units are well known in the art; therefore, they will not be explained in detail. According to the preferred embodiment each of the functional blocks BIB 30, MIB 40 and PIB 50 has been specifically designed as a single chip containing all elements such as registers and logic circuitry necessary to establish and perform communication between the host P/M bus 20 and the individual units connected to each functional block 30, 40, and 50. As indicated in Figure 1, it should be noted that a number M of BIBs 30 and a number of N of MIBs 40 may be provided all connected to the host P/M bus 20. The BIBs 30 are respectively connected between host P/M bus 20 and a corresponding number of Micro Channel busses 32. The MIBs 40 are connected between host P/M bus 20 and respective memories. Thus, a large variety of configurations with different CPUs and quite different memory capacities may be implemented. Each chip may be configured differently to match various system configurations. It should be understood that each functional block 30, 40, 50 is provided with some intelligence offering an operation which is relatively independent from the CPU operation generally governing all functions of the system. Basically, each functional block 30, 40, 50 includes an interface unit between the host P/M bus 20 and an individual internal transaction bus. Though the timing is based on the CPU clock all operations within the functional block such as read or write operations will be independently performed in one cycle whilst the CPU needs at least two cycles of the CPU block. Accordingly, this type of system architecture offers a considerably improved performance in view of the reduction of wait states for the CPU resulting in a higher overall operation speed. Figures 3, 4, 5A and 5B illustrate in some detail the units contained in each of the functional blocks 30, 40, and 50. Specifically, referring to Figure 3 the bus interface block BIB 30 comprises preferably arranged on one chip a host P/M bus interface HPI 34 forming an interface between the host P/M bus 20 and an internal transaction bus 35 providing communication connections to a synchronizing unit SYN 37 which is connected to a MC-bus control unit MCA 38 for access to the Micro Channel 32. Further connected to the internal transaction bus 35 is a DMA controller DMA 36 for controlling direct memory access. Referring to Figure 4 the preferably one chip memory interface block MIB 40 includes as basic units a host P/M interface 44 similar to the HPI 34 serving as an interface between the host P/M bus 20 and an internal transaction bus 45 which again is similar to the internal transaction bus 35 of the BIB 30. Via the internal transaction bus 45 memory access is established to a cache controller 46 through a DRAM controller 48 on a system memory interface bus 43 to the DRAM memory 42. Referring to Figures 5A and 5B the preferably one chip peripheral interface block PIB 50 again includes a host P/M interface HPI 54 interfacing host P/M bus 20 with an internal transaction bus 55. The unit HPI 54 and the internal transaction bus 55 correspond to the respective elements 34, 44, and 35, 45 of the BIB 30 and the MIB 40, respectively. Furthermore, PIB 50 has arranged in communication with the internal transaction bus 55 a synchronizing unit 56 for MCA bus control and a local peripheral interface LPI 58 for establishing access to the system and peripheral units 52A to 52E mentioned before. Now, as stated above, the work station according to the invention offers high flexibility in respect of using one of various types of CPUs. In addition, there is flexibility in the number of Micro Channels and DRAM memory units to be included in the system. This is in contrast to known work stations where a predetermined CPU communicates with one Micro Channel and one DRAM memory block only. This feature of the invention is achieved by a specifically extended host P/M bus which is illustrated in Figures 2A-2E in detail. Specifically, within the block CPU 10 the conventional input/output ports of a microprocessor as Intel 80386, etc. are listed as address ports A(2,..31), data ports D(0,...31), byte enable ports BEb(0,...3), an address status output ADSb which indicates that a valid bus cycle definition and address are available and which is driven active in the same clock as the addresses are given. ADSb is active low. The system clock PCLK, having a predetermined frequency, is generated by a clock oscillator 60 and supplied to the input port PCLK of the CPU 10 and the functional blocks BIB 30, MIB 40, and PIB 50. These and all other input/output ports of the CPU 10 and the signal presented there are conventional. Thus, they will not be explained in detail. However, another feature of the invention is that oscillators of different frequencies may be connected to the system in place of oscillator 60. For example, oscillator 60 could have a frequency of 16 MHz, 20 MHz, or 33 Mhz. As may be gathered from Figures 2A to 2E, the functional blocks BIB 30, MIB 40, and PIB 50 are provided with similar input/output ports as the CPU. However, there are several additional ports and associated bus lines connecting corresponding ports of the functional blocks and the CPU with each other. In connection with this invention the following ports and corresponding signals are of specific interest: Table 1 CT(0..1): The combination of the two lines included in the host P/M bus indicates the type of processor (functional block) which has access to the host P/M bus. For example, CT1 = 1, and CT0 = 0 may mean that the host CPU 10 is an Intel 40486 processor. It should be noted that the signals on these two lines are transmitted by the PIB 50 to each of any BIBs 30 and MIBs 40. BREQb(0..3): This is a host P/M bus request signal with the assumption that four BIBs 30 may be provided each being connected with the PIB 50 by one request line. (Further description will be given below). BGNTb(0..3): This is a host P/M bus grant signal transmitted by the PIB 50 to one of the BIBs 30 having requested access to the host P/M bus by BREQb(0...3). (Further description will be given below.) SBURSTBLb: This is generated by one of the functional blocks BIB 30 of the chip set, specifically one of the BIBs 30 only if the host CPU 10 is currently not bus master, to specify a BURST operation. It is used to temporarily halt the transfer in burst mode but keeps the burst condition established. With this signal the master is able to stop the transfer temporarily in burst mode. RDYb: The non burst ready indicates that the current bus cycle is complete. RDYb indicates that a functional unit of the system has presented valid data on the data lines in response to a read or that a functional unit of the system has accepted data from the processor in response to a write. RDYBLb(N): The non burst ready block is the RDYb signal generated by one of the functional blocks of the chipset. BRDYb(N): The burst ready input performs the same function during a burst cycle that RDYb performs during a non-burst cycle. BRDYb indicates that valid data are presented on the data lines in response to a read or the data on the line are accepted to a write. The data presented on the data bus will be stored into the processor when BRDYb is sampled active. BRDYBLb(N): The burst ready block is the BRDYb signal generated by one of the functional blocks of the chipset. LOCKb: The bus lock line indicates that the current bus cycle is locked. The processor will not allow a bus hold when LOCKb is asserted. LOCKb goes active in the first clock of the first locked bus cycle and goes inactive after the last clock of the last locked bus cycle. The last locked cycle ends when ready is returned. LOCKb is active low. If CTO and CTl are set to 11 (from the PIB 50) then LOCKb is active as long as the system should remain in burst condition. This is used for Micro Channel (MCA) streaming mode. CIN This is the chain input signal used in a system configuration routine (see also COUT). COUT: This chain output signal is used in a system configuration routine. Specifically, after configuration of one functional block it transmits its COUT signal to be applied as the CIN signal to the next functional block and so on. Another feature of the system is that after the CPU sends a command to a functional block the latter performs this command without further control by the CPU. For example, such a command sent to BIB 30 may be write data from Micro Channel 32 to DRAM 42. As will be appreciated, each functional block contains the logic and circuitry, such as flip-flops, to perform such processes. All this is contained in a so called "state machine" which may be implemented by a skilled person according to the specific requirements and processes to be performed. Referring now to Figure 6 a further explanation will be given in respect of the routing and purpose of the above listed signals. For example, it is assumed that there are provided four functional blocks BIB 0 to BIB 3 marked with the reference numerals 30 o to 30 3 . Furthermore, there are provided two functional blocks MIB 0 and MIB 1 marked with reference numerals 40 o and 40 1 . All the lines illustrated are part of the host P/M bus 20 as the address lines A(2,...31) and the data lines D(0,...31). Furthermore, as a specific feature there are two lines CTO and CTl (shown as one line only) for indicating the type of host processor used or whether a functional block BIB 30 is bus master having access to the host P/M bus. It should be noted that these two lines may be switched dynamically on a cycle basis. This information is transmitted from the PIB 50 to all MIBs 40 and all BIBs 30. For example, CT0 = 1 and CT1 = 0, may indicate that the CPU is a 386 and is the bus master, CT0 = 0 and CT1 = 1 may indicate that the CPU is a 486 and is the bus master, and CT0 = 1 and CT1 = 1, may indicate that the bus master is BIB 30. Referring to Figures 5A, 5B and 6 the PIB 50 and specifically its HPI 54 includes an arbiter circuit 54B. Each of the BIBs 30 o -30 o is connected with the PIB 50 by a host P/M bus request line BREQ (0) to BREQ (3), respectively. Furthermore, the PIB 50 is connected with each of the BIBs 0-3 through BGNT 0 to BGNT 3 lines for a host P/M bus grant signal. In operation, if one of the BIBs 30 o -30 3 needs access to the host P/M bus 20 it sends a corresponding request signal BREQ 0-3 to the PIB 50 which upon arbitration in the arbiter 54B according to predetermined priorities allotted to the individual BIBs grants access to that of the requesting BIBs 30 o -30 3 having highest priority. Thus, the host CPU is relieved from this task with the result of improved performance. As mentioned before, the work station according to the invention may use different types of CPUs. Furthermore, such a work station may operate with different frequencies, e.g. from 16 MHz to 33 MHz. Therefore, quite a number of system configurations are available using the same functional blocks, i.e. BIBs 30, MIBs 40, and the PIB 50. These variations require specific adaptations of the functional blocks to a specific configuration. For this purpose each functional block includes preferably in its host P/M interface HPI 34, 44 and 54, respectively, configuration registers one of which is indicated as configuration register in HPI 54 of Figure 5A. In principle, all the functional blocks may be configured in a setup procedure known as "program option select" procedure. With reference to Figure 6 and Table 1 (signal definitions) the basic operation of the work station, according to a preferred embodiment, will now be explained. The architecture is designed so that one of a group of CPUs, e.g., an Intel 80386, 80386SX or 80486, may be selected for connection to host P/M bus 20. The group of CPUs will differ in operational characteristics. For example, an Intel 80386 divides the frequency of the system clock signal (PCLK) by 2 to time its operation. In contrast, the Intel 80486 does not divide the clock signal and operates at the same frequency as the system clock. When the system is installed, information as to the type of connected CPU is provided. For example, a predetermined arrangement of switches can be set by the installer to indicate a particular type of CPU. In a preferred embodiment, switches are set on the PIB board to indicate the type of CPU. As noted previously, illustrated control line CT(0..1) actually contains 2 lines. Thus, in the disclosed embodiment, there are 4 signals, (0,0), (1,0), (0,1), and (1,1), which may be provided. Three of these are reserved to indicate whether an 80386, 80386SX or 80486 CPU is connected to host P/M bus 20. The fourth signal is activated when BIB 30 is bus master. It will be remembered that a feature of the present work station is the ability of BIB 30 to function as bus master of host P/M bus 20 to relieve CPU 10. Clearly, more CT lines can be employed if more than three different types of CPUs are connectable to the work station. When the system is started, oscillator 60 generates a clock signal at a predetermined frequency. Certain types of CPUs connected to host P/M bus 20 will change the frequency of the clock signal it receives to time its operation. As noted above, an 80386 CPU divides the frequency in half. The clock signal from oscillator 60 is also provided to BIB 30. BIB 30 responds to the signal on the CT lines by changing the frequency of the clock signal in the same manner as CPU 10. For example, if the signal on the CT lines indicates that CPU 10 is an 80386, BIB 30 will divide the frequency in half. On the other hand, if the signal on the CT lines indicates that the processor is an 80486, which does not change the frequency of the clock signal, BIB 30 will similarly not change its frequency. BIB 30 uses the converted frequency to time the transfer of data between BIB 30 and host P/M bus 20. Furthermore, by changing the frequency of the clock signal to the same frequency as the CPU, communication between the various functional blocks and CPU 10 is possible during start-up and the initialization phase of the system. During operation of the system, the signal provided by the CT lines will continue to indicate the type of CPU connected to host P/M bus 20 as long as CPU 10 is the bus master. If BIB 30 becomes bus master after arbitration, the signal on the CT line will dynamically change indicating BIB 30 is the bus master. Restated, the bus master function is transferred from the CPU 10 to the BIB 30 (which is indicated by a dynamic change of the CTIN (0..1) signal (Figure 2D) to "1,1" presented to the MIBs 40 and the BIBs 30 as signal CT (0..1). Thus, the CT indicator signal is used for the dual purpose of identifying the type of CPU and whether CPU 10 or BIB 30 is the bus master.

Claims: A work station, including a CPU (10) connected to a local bus (20), characterized in that said CPU (10) is selected from a group of CPUs differing in certain operational characteristics, in that a bus interface circuit (30) is connected between an external bus (32) and said local bus (20), and in that a self-contained functional block (50) independent of said CPU is connected to control line means in said local bus to provide a control signal (CT(0,1)) indicating the type of CPU (10) connected to said interface circuit (30). A work station according to claim 1, characterized in that said local bus (20) includes a system clock line (PCLK) adapted to provide a first clock frequency, in that said CPU (10) is adapted to convert said first frequency to a second frequency to clock its operation, and in that said bus interface circuit (30) responds to said control signal (CT(0,1)) to convert said first frequency to said second frequency. A work station according to claim 2, characterized in that said bus interface circuit (30) uses said second frequency to time the transfer of data between said bus interface circuit (30) and said local bus (20). A work station according to any one of the preceding claims, characterized in that said control signal CT (0,1)) further indicates whether said CPU (10) or said bus interface circuit (30) is bus master of said local bus (20). A work station according to any one of the preceding claims, characterized by a plurality of said bus interface circuits (30) respectively connected between said local bus (20) and a corresponding number of external buses (32) each of said bus interface circuits (30) being connected to said control line means. A work station according to claim 5, characterized in that each of said external buses (32) is a Micro Channel bus. A work station according to any one of the preceding claims, characterized by a plurality of memory interface circuits (40) connected between said local bus (20) and respective memories (42), each of said memory interface circuits (40) being connected to said control line means. A work station according to any one of claims 5 to 7, characterized in that said local bus (20) includes lines connecting each of said bus interface circuits (30) with an arbitrator (54B) for transmitting a local bus access request (BREQ) thereto and further lines for transmitting a local bus granting signal (BGNT) from the arbitrator (54B) to a selected one of said bus interface circuits (30) requesting access upon priority arbitration. A method for operating a work station, characterized by the steps of: providing a CPU (10) selected from a group of CPUs differing in certain operational characteristics; providing a bus interface circuit (30) connected between an external bus (32) and a local bus (20) connected to said CPU (10); providing a self-contained functional block (50) independent of said CPU; and providing from said functional block (50) a control signal (CT (0,1)) via said local bus (20) to said bus interface circuit (30) indicating the type of CPU selected. A method according to claim 9, characterized of the steps of: providing a clock signal to both said CPU (10) and said bus interface circuit (30); changing the frequency of said clock signal in said CPU (10) to time its operation; and changing the frequency of said clock signal in said bus interface circuit (30) to the same frequency as said CPU (10) in response to said control signal (CT(0,1)). A method according to claim 10, characterized by the step of using said control signal (CT(0,1)) to indicate whether said bus interface circuit (30) or said CPU (10) is bus master.

Inventors: GOEPPEL ANTON, KING EDWARD C, GOEPPEL, ANTON, KING, EDWARD C.
Applicants: NCR INT INC, NCR INTERNATIONAL, INC.
Application year: 1991
Main classification: G06F13
IPC codes: G06F13